BZOJ 2045 容斥原理】的更多相关文章

思路: 同BZOJ 2005 http://blog.csdn.net/qq_31785871/article/details/54314774 //By SiriusRen #include <cstdio> #include <algorithm> using namespace std; #define int long long int a,b,d,mn,f[1000050]; signed main(){ scanf("%lld%lld%lld",&a…
2045: 双亲数 Description 小D是一名数学爱好者,他对数字的着迷到了疯狂的程度. 我们以d = gcd(a, b)表示a.b的最大公约数,小D执著的认为,这样亲密的关系足可以用双亲来描述,此时,我们称有序数对(a, b)为d的双亲数. 与正常双亲不太相同的是,对于同一个d,他的双亲太多了 >_< 比如,(4, 6), (6, 4), (2, 100)都是2的双亲数. 于是一个这样的问题摆在眼前,对于0 < a <= A, 0 < b <= B,有多少有序…
思路: 题目让求的是 Σgcd(i,j) (i<=n,j<=m) n,m不同 没法线性筛 怎么办? 容斥原理!! f[x]表示gcd(i,j)=x的个数 g[x]为 存在公约数=x 的数对(i,j)的个数 g(x)=(n/x)*(m/x) 那么f[x]就是 g(x)-f(2*x)-f(3*x)--- -f(i*x) (i*x<=min(n,m)) 从后往前算 (这个显然吧 要不怎么减) Σf(x)*2 -n*m就是答案啦~~ 复杂度的话嘛 O(n)+O(n/2)+O(n/3)-..+O(…
首先根据样例或者自己打表大概可以知道,对于询问k,答案不会超过k<<1,那么我们就可以二分答案,求当前二分的值内有多少个数不是完全平方数的倍数,这样就可以了,对于每个二分到的值x,其中完全平方数的倍数的个数为Σmiu(i)*(n/(i*i)),原理就是容斥,但是根据莫比乌斯反演应该也是能推出来的(我没推出来). 反思:开始莫比乌斯函数筛错了,后来的时候没用longlong,导致二分的时候int溢出了,这样就死循环了,找了半天错. /*******************************…
思路: 移至iwtwiioi    http://www.cnblogs.com/iwtwiioi/p/4986316.html //By SiriusRen #include <cstdio> #include <cstring> #include <algorithm> using namespace std; #define int long long ; ]; int pow(int x,int y){ ; while(y){ )res=res*x%mod; x…
//By SiriusRen #include <cstdio> using namespace std; int n,m,a[1005]; typedef long long ll; ll C[2005][2005],f[2005][2005],g[2005],mod=1000000007ll; int main(){ scanf("%d%d",&n,&m); for(int i=1;i<=m;i++)scanf("%d",&am…
容斥原理是一个从小学就开始学习的算法.但是很多难题现在都觉得做的十分吃力. 容斥原理大概有两种表现形式,一种是按照倍数进行容斥,这个东西直接用莫比乌斯函数就可以了. #include<iostream> #include<cstdio> #include<cstring> #include<algorithm> using namespace std; #define MAXN 200100 typedef long long qword; bool pfl…
[BZOJ 4455] [ZJOI 2016] 小星星 (树形dp+容斥原理+状态压缩) 题面 给出一棵树和一个图,点数均为n,问有多少种方法把树的节点标号,使得对于树上的任意两个节点u,v,若树上u,v之间有一条边,图上u,v对应的点之间也有一条边. \(n \leq 17\) 分析 看到\(n \leq 17\),我们应该想到状态压缩.但直接用子集dp的时间复杂度为\(O(3^nn^3)\),会TLE.所以我们压缩的状态可能有问题,考虑优化. 显然题目给了两个限制: 原树中的每条边都要在图中…
2440: [中山市选2011]完全平方数 Time Limit: 10 Sec  Memory Limit: 128 MBSubmit: 3028  Solved: 1460[Submit][Status][Discuss] Description 小 X 自幼就很喜欢数.但奇怪的是,他十分讨厌完全平方数.他觉得这些数看起来很令人难受.由此,他也讨厌所有是完全平方数的正整数倍的数.然而这丝毫不影响他对其他数的热爱. 这天是小X的生日,小 W 想送一个数给他作为生日礼物.当然他不能送一个小X讨厌…
网上PoPoQQQ的课件: •题目大意:求第k个无平方因子数 •无平方因子数(Square-Free Number),即分解之后所有质因数的次数都为1的数 •首先二分答案 问题转化为求[1,x]之间有多少个无平方因子数 •根据容斥原理可知 对于sqrt(x)以内所有的质数 有 •  x以内的无平方因子数 •=0个质数乘积的平方的倍数的数的数量(1的倍数) •-每个质数的平方的倍数的数的数量(9的倍数,25的倍数,...) •+每2个质数乘积的平方的倍数的数的数量(36的倍数,100的倍数,...…