codeforces ID : psh330327 , 文章只写思路,具体代码关注cf id后可以看鸭!

A. Birthday

题意: M*X >= L+K , X属于[1,n/m] 求最小的X

思路: (L+K)/M  判断是否整除,并且在定义域范围内

 

B. LCM

题意:  输入b(<=1e10),求a属于 [1,1e18]中有多少个不同的答案

思路:分子确定,b确定,那么gcd只可能是b的所有因数,  

 

C. Colored Rooks

题意: n种颜色给至多5000个棋子染色,二维平面,设计一种放置方案,满足如下条件:

  • 每种颜色至少对应一个坐标
  • 相同颜色的棋子一定可以通过 相同颜色的棋子 到达  任意一个相同颜色的棋子 这样的颜色称为是和谐的棋子集合
  • m对和谐颜色<a,b>,只需要保证 color_a,color_b 集合是和谐集合

思路:每种颜色有一列高度(长度cnt 等于 需要和cnt个集合和谐) ,  为了满足条件3(不和谐的颜色不能 到达),对于 和谐对<a,b>(a<b) ,我们让a列上方选择一个地方和b列 的公共部分. 看图吧,很难描述

  2 3    
1 2      
  2      
1        
1        

这个图代表, <1,2> , <2,3>