题意:找出小于n是m个数每个数的倍数的数的个数。思路:用二进制表示是那几个数的倍数。 二进制进行容斥,去掉小于0的数。 1 #include 2 #include 3 #include 4 using namespace std; 5 6 __int64 n,m,g; 7 __int64 a...
分类:
其他好文 时间:
2014-11-19 12:00:07
阅读次数:
162
求 {1, r} 中与 n 互质的个数:(容斥原理)...
分类:
其他好文 时间:
2014-11-19 01:49:05
阅读次数:
157
题意:求出在一个区间[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
题目链接:hdu 4456 Crowd
题目大意:给定N,然后M次操作
1 x y z:在x,y的位置加z2 x y z:询问与x,y曼哈顿距离小于z的点值和。
解题思路:将矩阵旋转45度,然后询问就等于是询问一个矩形,可以用容斥定理搞,维护用二维树状数组,但是空间开
不下,直接用离散化,将有用到的点处理出来。
#include
#include
#include
...
分类:
编程语言 时间:
2014-11-18 00:28:03
阅读次数:
239
题意:求1-b和1-d之内各选一个数组成数对,问最大公约数为k的数对有多少个,数对是有序的。(b,d,k
解法1: 这个可以简化成1-b/k 和1-d/k 的互质有序数对的个数。假设b=b/k,d=d/k,b1-tool中含有rem位置之后的i的质因子的数的个数。
在
for(int j=rem;jfactor[i][0];j++)
ans+=tool/factor[i]...
分类:
其他好文 时间:
2014-11-16 23:09:52
阅读次数:
480
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
题目大意:求x属于[1,b]和 y属于[1,d]的 gcd(x,y)=k 的方案数题解:观察发现 gcd()=k 不好处理,想到将x=x/k,y=y/k 后 gcd(x,y)=1。。即问题转化为求区间 [1,b/k]和 [1,d/k]的互质数对个数由于题目规定 (x,y)和(y,x)是同一种,所以我...
分类:
其他好文 时间:
2014-11-13 23:45:17
阅读次数:
329
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
C -To Be an Dream ArchitectTime Limit:1000MSMemory Limit:32768KB64bit IO Format:%I64d & %I64uSubmitStatusPracticeHDU 3682Appoint description:Descripti...
分类:
其他好文 时间:
2014-11-09 19:26:28
阅读次数:
230