容斥定理
Anxdada
多读书多看报, 少吃零食多睡觉
展开
-
2017年四川省赛 -- G题 2017 【容斥定理】
题意 : 就是在两个区间中选择一些数, 使得他们的乘积是2017的倍数. 问这样的点对一共有多少对.思路 :因为2017是质数,所以我们只需要考虑2017的倍数就好,只有存在2017的倍数才能组成2017的倍数,所以我们只需要简单的容斥一下,首先找到a,b这个区间里面有多少个2017的倍数 s1,再找到c,d这个区间有多少个2017的倍数s2,再减掉重复的就好. 即s1乘c,d区间长度,s2乘a,原创 2017-06-23 22:16:39 · 462 阅读 · 0 评论 -
吉首大学新星杯L题 小李子的老年生活【容斥好题(只是问题比较裸)】
传送门 // 题意就是给定一个n, 求1 - n 中与n互质的数的平方和. // 思路: 问题我们可以进行转换, 就是我们得到1 - n的所有数的平方和, 然后我们要做的就是减去n的素数因子(不是素数的也一定包含在素数因子的倍数当中)的倍数在1-n中的, 所以我们有个问题就是比如6 有 2, 3这个两个因子, 那么2会减去2,4,6, 而 3 会减去 3, 6所以6就被重复减了, 所以这就很明原创 2018-01-21 20:32:21 · 522 阅读 · 0 评论 -
HDU 3501 Calculation 2 【容斥定理】
传送门 // 题意: 给定一个n问1-n中与n不互质的数的和是多少.// 那么1-n中与n不互质的数那么就是n的素因子的倍数(不是素因子的也一定是其中的某个素因子的倍数), 的和, 假设n = 6, 它的素因子为2, 3, 那么我们算一遍2的会算2, 4, 6, 算3的会算3, 6, 6 就算重了一遍, 所以显然就要用容斥定理了, 枚举下所有素因子的组合情况就是了. 然后求和可以直接套用等差数原创 2018-01-21 20:41:13 · 207 阅读 · 0 评论 -
UVa 12493 Stars 【容斥 or 欧拉函数】
传送门 // 给定圆上n个点, 每m个点连一条线, 如果最后可以把所有的点都联通, 那么这就是一种合法状态, 如果两个m1 != m2, 但是最后连接出来的图形是一样的, 则方法算一种.// 思路: 我们可以暴力出10以内的答案, 可以发现与n的性质有关, 实际上就是只有m和n互质的情况下才有可能走完所有的n个点, 否则一定走不完, 可以自己在图上画一画. (其实就是一个倍数关系)画的过程中我们还原创 2018-01-23 16:48:51 · 282 阅读 · 0 评论 -
牛客练习赛9 E题 珂朵莉的数论题
传送门 // 题意: 求第x小的正整数v使得其最小的质因数为质数y,即正好有x-1个[1,v-1]之内的正整数满足其最小的质因数为质数y 若答案超过1000000000则输出0 // 思路: 其实如果范围不大, 我们都可以通过筛法处理. 但是由于数比较大, 也就是当素数因子比较小的时候变不再适用. 方法就是当 y >= p, 可以用1e9/y的筛法处理. y原创 2018-01-06 22:14:17 · 655 阅读 · 0 评论 -
HDU -- 4135 Co-prime【质因子分解+状压 + 容斥定理】+ 模板
传送门 //问l,r中和n互质的数有几个. 即gcd(n,k) == 1的有多少个元素. //思路 : 分解n的质因子, 然后用容斥定理算每一区间中可以整除这个质因子的有几个. AC Code /** @Cain*/ vectorv; ll rongchi(ll x,ll n) //就算1-x中与n互素的数的个数. { v.clear(); for(ll i=2原创 2017-08-07 15:46:45 · 997 阅读 · 0 评论 -
SCU - 4573 和 POJ 3904 Sky Code 【思维 + 容斥定理 or 反演】
传送门 题意: 就是给定n个数, 问这里面有多少个四元组满足gcd(a, b, c, d) == 1.思路: 因为题意的那个条件并不是说一定这四个元素就是两两互质的, 所以算正面是有点难算的, 所以我们考虑反面, 用C(n, 4) - 那些gcd(四元组) != 1的, 这是我们就需要枚举gcd了, 1 - 1e4, 那么我们有什么方法可以更快的得到gcd可以等于2的有多少个数乐, 此时我们就需要原创 2018-04-20 18:02:05 · 275 阅读 · 0 评论 -
HDU - 6397 Character Encoding 【容斥】 经典问题方程的解!!! 好题! 多校
传送门 题意: 求 x1 + x2 + …. + xm = k (0 <= xi < n), 这个方程的正整数解. 很明显, 如果xi>=0, 没有上界, 那么方程的解数为C(m-1, k+m-1), 可以用隔板法证明. 同理如果xi > 0, 那么解为C(m-1, k-1). 那么加了上界怎么判, 很明显我们就用总的去减, 但是会减重, 所以就是...原创 2018-08-16 17:00:29 · 312 阅读 · 0 评论