容斥原理
文章平均质量分 51
lhfl911
这个作者很懒,什么都没留下…
展开
-
hdu2204 Eddy's 爱好 【容斥原理】
题目链接: hdu2204题意: 给一正整数n(1<=n<=1018)(1<= n <= 10^{18}), 求[1,n]中能表示成MK(K>1)M^K(K>1)的数的个数。第一次好好看容斥,感觉智商已经不够了,看了好多题解才明白。。。 若MK<=nM^K <= n 满足, 则任意m <= M 都满足mK<=nm^K<= n ; 满足MKM^K 的数中,若K不是素数,则MK=(Ma)pM^K =原创 2016-08-05 15:39:52 · 407 阅读 · 0 评论 -
hdu 5768 多校4 Lucky7【crt+容斥】
hdu5768题意: 求区间[l, r]中是7的倍数且不满足任一给定同余式的数的个数,(0<l<r<108)(0\lt l \lt r \lt 10^8)。分析: 满足不同同余式的集合不同且可能有重叠,用容斥原理解决,联立同余式求解用中国剩余定理,因为pi都是素数,可以用互质版求解**注意**crt中乘法会爆long long,写个快速乘。#include <cstdio> #include <原创 2016-07-30 16:05:33 · 610 阅读 · 0 评论 -
hdu3208 Integer's Power【容斥原理+精度处理】
题目传送门: hdu3208题意: 求区间[a, b]中每个数的最大指数和。(2<=a<=b<=1018)(2<= a <= b <= 10^{18})直接求不好求,可以将问题转化为求[1, n],f(b) - f(a-1) 即为答案; 260>10182^{60} > 10^{18}, 最大指数不会超过60, 开根算出每个指数对应的数目个数,因为有些数有不同表示方法,例如26=43=822^原创 2016-08-06 14:55:56 · 505 阅读 · 0 评论