容斥原理
文章平均质量分 51
空灰冰魂
=NULL
展开
-
【BZOJ2005】【Noi2010】能量采集 gcd
题解:一个点(a,b)(a,b)跟点(0,0)(0,0)中间隔的点的数量是gcd(a,b)gcd(a,b) 设fif_i为gcd(a,b)=igcd(a,b)=i的数对的对数。 那么ans=∑min(n,m)i=1fians=\sum_{i=1}^{min(n,m)} f_i然后有约数ii的数对的数量是⌊n/i⌋∗⌊m/i⌋\lfloor n/i\rfloor*\lfloor m/i\原创 2015-03-25 16:19:42 · 1281 阅读 · 0 评论 -
【BZOJ2440】【中山市选2011】完全平方数 二分+容斥+莫比乌斯函数线性筛
题解:给出PoPoQQQ大爷的题解链接: http://blog.csdn.net/popoqqq/article/details/42076037 我太弱,可以直接看大爷的不用看我的。首先整体思想上我们可以二分check前x个数中有多少个符合要求的数。 然后这个怎么check呢?发现我们枚举每个数,看范围内是它的平方的倍数的数有多少个就行了。然后发现容斥一下,有些数是要加的,而有些原创 2015-03-26 10:02:10 · 1231 阅读 · 0 评论 -
【BZOJ1008】【HNOI2008】越狱 排除法+快速幂
题解:全集是mnm^n,然后补集是第一个随便选,其后每个点有m-1种选法,是m∗(m−1)n−1m*{(m-1)}^{n-1}代码:#include #include #include #include #define mod 100003using namespace std;long long n,m;long long power(long long x,lo原创 2015-03-23 23:22:09 · 1277 阅读 · 0 评论 -
【BZOJ3622】已经没有什么好害怕的了 动态规划+容斥原理
题解:首先我们给AA数组(糖果)和BB数组(药片)从小到大排个序。 lastilast_i 表示一个极大值 xx 使得 BxAiB_x 。 f(i,j)f(i,j) 表示枚举到第 AiA_i 时,有至少 jj 对匹配,使得 A∗∗∗>B∗∗∗A_{***}>B_{***} 然后枚举到 AiA_i 不代表也必须只能使用 BiB_i 以及其前的B数组元素。f(i,j)=f(i−1,j)+原创 2015-04-02 19:20:33 · 2760 阅读 · 3 评论 -
【BZOJ4011】【HNOI2015】落忆枫音 拓扑图DP,
题解:如果没有后加的边,那么 ans=∏ni=2dians = \prod_{i=2}^n di ,可以回忆构建树形数据的普遍方法——点 ii 连一条 [1,i-1] 的边即可。 然后后加边了以后,有且仅有一些方案会形成环是错误方案。 拓扑图DP就好啦~, f(i)f(i) 表示从 yy 到 ii 时的方案。 发现对于一条 y→iy \rightarrow i 的路径,再加上一条 i→y原创 2015-04-29 09:15:39 · 1676 阅读 · 0 评论