随笔分类 -  容斥原理

摘要:[题目链接] https://codeforces.com/contest/1139/problem/D [算法] 考虑dp 设fi表示现在gcd为i , 期望多少次gcd变为1 显然 , fi = (1 / m) * sigma{ fgcd(i , j) } + 1 直接转移是O(N ^ 2log 阅读全文
posted @ 2019-04-05 21:47 evenbao 阅读(309) 评论(0) 推荐(0)
摘要:[题目链接] https://www.lydsy.com/JudgeOnline/problem.php?id=1853 [算法] 首先 , [L , R]区间的答案 = [1 , R]区间答案 - [1 , L - 1]区间答案 考虑可以预处理[1 , R]中的“幸运数字”和[1 , L - 1] 阅读全文
posted @ 2019-04-05 21:19 evenbao 阅读(214) 评论(0) 推荐(0)
摘要:[题目链接] https://www.lydsy.com/JudgeOnline/problem.php?id=2440 [算法] 首先 , 不妨二分答案mid , 我们需要判断的是一个形如"[1 , mid]区间中是否有 >= k个不是完全平方数倍数的数“ 考虑容斥 , 显然 , 答案为 : mi 阅读全文
posted @ 2018-11-01 19:02 evenbao 阅读(169) 评论(0) 推荐(0)
摘要:[题目链接] https://www.lydsy.com/JudgeOnline/problem.php?id=2301 [算法] 首先,满足a <= x <= b , c <= y <= d , GCD(x,y) = k的二元组对数可以转化为求 : 1 <= x <= b , 1 <= y <= 阅读全文
posted @ 2018-09-03 21:32 evenbao 阅读(128) 评论(0) 推荐(0)
摘要:[题目链接] https://www.lydsy.com/JudgeOnline/problem.php?id=1101 [算法] 首先 , 问题可以转化为求GCD(x,y) = 1,x <= a / d , y <= b / d,的二元组个数 令F(a,b,d)表示x <= a , y <= b 阅读全文
posted @ 2018-09-02 21:56 evenbao 阅读(187) 评论(0) 推荐(0)
摘要:【题目链接】 http://poj.org/problem?id=3904 【算法】 问题可以转化为求总的四元组个数 - 公约数不为1的四元组个数 总的四元组个数为C(n,4),公约数不为1的四元组个数可以用容斥原理求 【代码】 阅读全文
posted @ 2018-07-12 18:58 evenbao 阅读(149) 评论(0) 推荐(0)
摘要:【题目链接】 http://codeforces.com/contest/451/problem/E 【算法】 容斥原理 【代码】 阅读全文
posted @ 2018-07-11 11:24 evenbao 阅读(151) 评论(0) 推荐(0)
摘要:【题目链接】 点击打开链接 【算法】 考虑求每个人可以不分的方案 那么,对于每件物品,我们把它分成n份,每一份对应分给每一个人,有C(a[i]+n-1,m-1)种方案,而总方案数就是每种 物品方案数的乘积 然后,根据容斥原理,ans = 至少0人没分到特产 - 至少1人没分到特产 + ... - C 阅读全文
posted @ 2018-05-29 21:03 evenbao 阅读(132) 评论(0) 推荐(0)
摘要:【题目链接】 点击打开链接 【算法】 此题是一道好题! 首先,我们发现 : 付款方法数 = 不受限制的方法数 - 受限制的方法数 那么,我们怎么求呢? 我们用dp求出不受限制的方法数(f[i]表示买i元的东西,不受硬币限制,有多少种方案),只需用01背包的 方法就可以了,实现非常简单 那么受限制的方 阅读全文
posted @ 2018-05-06 22:42 evenbao 阅读(172) 评论(0) 推荐(0)