题意:求出在一个区间[A,B]内与N互质的个数 。思路:先求出n的质因子,然后求出与N的质因子不互质的个数然后总个数减去就是。用位运算二进制表示那个因子用到过,实现容斥原理。在1到n之间是c倍数的个数为n/c; 1 #include 2 #include 3 #include 4 #defin...
分类:
其他好文 时间:
2014-11-19 00:11:57
阅读次数:
284
typedef __int64 ll;ll gao(ll l,ll r,ll n){//[l,r]内与n互素的数字个数 vector v; for(ll i=2;i*i1)v.push_back(n); int m=v.size(); ll res=0; for(...
分类:
其他好文 时间:
2014-11-13 23:58:45
阅读次数:
427
http://acm.hdu.edu.cn/showproblem.php?pid=4135求[A,B]内与N互素的数字个数首先对N分解质因数,对于一个质因数,1-n与它不互素的数字个数是n/(这个质因数),这样可以得到m个集合(m是N分解出的质因数的个数),对这m个集合用容斥原理解出来它们的并集,...
分类:
其他好文 时间:
2014-11-13 07:00:58
阅读次数:
119
输入 z1 y1 z2 y2 q m
问 z1到y1 中取一个数 再从 z2到y2中取一个数, 两数加和 对q取模 ,其值等于m的几率是多大
很容易知道总的选择,为(y2-z2+1)*(y1-z1+1);
然后可以通过容斥原理来算分子
dd=count(y1,y2,q,m); 这个算的是0-y1和0-y2中的任意两数和对q取模答案是m的方法数 为了好记,dd的意义是大大
xd=count(z1-1,y2,q,m); 接下来三个同上 xd意义是 大小
dx=count(z2-1...
分类:
其他好文 时间:
2014-11-10 23:30:08
阅读次数:
492
题意:
给n个数,求这n个数取3个数 这三个数两两互质或者两两不互质,为有多少种取法。...
分类:
其他好文 时间:
2014-11-08 15:19:51
阅读次数:
145
题意:
有两种操作1,2
1:询问 x,y区间能与p互质的数的和
2:将x改成p
一开始给N,初始是1~N个数
思路:
我们在求不互质的数有多少个的时候 其实就可以用等差数列求和求出这些数的和
那么我们到时候直接求一下就好了
然后因为这里的操作次数很少 所以我们可以标记一下哪些位置被修改过
然后在1操作的时候 特判一下这些位置
代码:
#include"cstdlib"
#i...
分类:
其他好文 时间:
2014-11-07 20:54:09
阅读次数:
312
题意:
给你a,b,c,d,k问 x∈[a,b] y∈[c,d],gcd(x,y)=k 的个数
然后重复算一种 也就是 x=1,y=2和x=2,y=1是一样的。
思路:
首先将b/k,d/k 就转换成了 x∈[a,b] y∈[c,d],gcd(x,y)=1的个数
然后我们枚举其中一个长度较小的区间
找另一个区间与它互质的数
因为数很多,需要预处理一下每个数的质因子
然后就是容斥定理...
分类:
其他好文 时间:
2014-11-07 20:54:02
阅读次数:
236
题目链接题意 : 给你两个数k,s,让你找k个数,这k个数都不大于s,并且这k个数的公约数大于1。思路 : 枚举一下素数倍数,求组合数,最后容斥原理求最终结果。当k=3,s=20的时候 :2 : 2 4 6 8 10 12 14 16 18 203 :3 6 9 12 15 185 :5 10 15...
分类:
其他好文 时间:
2014-11-07 20:36:34
阅读次数:
214
题意:
中文题目!
思路:
首先 M^k可以分解成 (M^(k*p)) p是素数
这么我们只要枚举素因子就好了
由于数据 所以只要枚举60以内的素数就够了
然后因为2*3*5*7就超过60了 做容斥原理就最多就只有三次
代码:
#include"cstdlib"
#include"cstdio"
#include"cstring"
#include"cmath"
#include"...
分类:
其他好文 时间:
2014-11-06 09:23:11
阅读次数:
158
题意:给一个N,然后给M个数,问1~N-1里面有多少个数能被这M个数中一个或多个数整除。思路:首先要N--然后对于每个数M 其实1~N-1内能被其整除的 就是有(N-1)/M[i]个但是会出现重复 比如 样例 6就会被重复算这时候我们就需要容斥原理了加上一个数的减去两个数的。。这里要注意了 两个数以...
分类:
其他好文 时间:
2014-11-06 02:00:19
阅读次数:
142