Codeforces Round #518 (Div. 2) [Thanks, Mail.Ru!]

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

A. Birthday

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

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

 

B. LCM

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

思路:分子确定,b确定,那么gcd只可能是b的所有因数, $$ O(\sqrt{n}) $$ 

 

C. Colored Rooks

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

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

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

 23  
12   
 2   
1    
1    

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

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值