codeforces 简单计数问题收集

开个新坑。。
所谓简单计数问题, 就是运用组合数学或者一些计数技巧,去统计某个对象的个数。这些题往往码量不大, 思路灵活。如果这方面的“直觉”很强的话, 解题会很轻松。

codeforces 70C - Lucky Tickets

容易想到的是, 给定一个区间, 在 nlogn 内求出其 good pairs 的计数。即对 first , 维护 i / rev[i] 的个数。然后枚举 second,加上 query( key = rev[j] / j )。
怎样满足 x * y 最小呢?
x 不变, 则 x * y 是单调的, 而 tot 也是随 y 递增的。
所以就可以使用一个类似 two pointer 的算法, 利用单调性在 O(Xlog(X) + Ylog(Y))的时间内求解。

codeforces 295C - Greg and Friends

状态: (左岸体重为50的人数,左岸体重为100的人数,船的位置)
转移: 人是不同的,用组合公式选上船的人的方案数。。。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值