![](https://img-blog.csdnimg.cn/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
容斥
yp_2013
这个作者很懒,什么都没留下…
展开
-
hdu 5297 Y sequence
传送门: http://acm.hdu.edu.cn/showproblem.php?pid=5297题意:定义数列A为不能被表示成pow(a,b)(a>0,2<=b<=r)的正整数的升序排列。求A(n)。(0<n<2*1e18,2<=r<=62。容斥加迭代,因为迭代每次越来越小,而且每次加的都是差值,所以最后加到剩余的数都不是应该被去掉的就ok了,也就是说最后可以保证正好是第n个!这里的容斥有点原创 2016-02-12 21:50:34 · 295 阅读 · 0 评论 -
POJ 3904
//题意,给出n个数,问有多少组(a,b,c,d)公约数为1,注意并不一定两两互质!因为不一定两两都互质,那么从相反的方向着手比较方便!即先统计出(a,b,c,d)公约数>1的对数,然后用总数减去即可! 容斥原理应用,以2为因子的数有a个,3为因子 的数有b个,6为因子的数有c个,n个数不互质的四元组个数为C(4,a)+C(4,b)-C(4,c) (含奇数个素因子的加,偶数个素因子的减),下面就是原创 2016-02-26 20:01:11 · 384 阅读 · 0 评论 -
2015湘潭邀请赛 Yada Number
http://202.197.224.59/OnlineJudge2/index.php/Problem/read/id/1242 题意:求1~n的区间内,有几个数的因子是2,3,5,7,11,13 ,且个数为偶数 思路:打表,分开20W作为一个区间,求出边界值,然后每次枚举区间即可#include<bits/stdc++.h>using namespace std;int a[5005]=原创 2016-02-15 13:18:07 · 1132 阅读 · 0 评论 -
hdu 5468 容斥加树形dp
容斥,num统计树中含有因子i的结点有多少个,然后用总结点数减去就可以了,注意now-pre,因为肯定要减,因为当从一个子树到另一个子树的时候,也就是另一个子树的num值还没加进来的时候,num值统计的是全局的,所以要把子树外面的值给减掉~#include<iostream>#include<algorithm>#include<string>#include<map>//int dx[4]=原创 2016-06-17 10:07:43 · 392 阅读 · 0 评论