容斥
lhq_er
这个作者很懒,什么都没留下…
展开
-
51nod 1407
一道非常不错的容斥题(也有利于理解前缀和) 下面我将两种方法: 1.一般在网上搜到的方法,首先算出1406题的答案,dp[i]表示n个数中满足x&i==i的x有几个,然后我们考虑 dp[i]所代表的所有数互相&,出去空集外共有2dp[i]2^{dp[i]}种,这些方案代表了所有&和包含i的方案,即i上的1都有,其他的任意,这样我们就可以容斥了,Ans=所有方案数-不合法的方案数,不合法的怎么算?原创 2017-10-19 06:52:39 · 281 阅读 · 0 评论 -
Mobius反演
2440: [中山市选2011]完全平方数 最直观的想法是容斥,x-x/(pi)^2+x/(pi*pj)^2…… 但是最坏情况下可能有O(2^p) ,虽然很快就会超过x,还是很快的, 换一种方法来分析,我们只要某些质数的乘积来算,那么mu[i]!=0的i就是符合要求的数字,而其他的+-号由于mu[i]相同,所以直接ans+=x/(i*i)*mu[i]即可.3529: [Sdoi2014]数表原创 2018-01-04 18:50:51 · 364 阅读 · 0 评论 -
2693: jzptab
https://www.cnblogs.com/ljh2000-jump/p/6358095.html 这个链接推得和我一样,线性筛F函数 最后算的时候不能T 和F(T)都求前缀和 我们可以把F[T]=F[T]*T; 这样就可以求了;#include<cstdio>#include<algorithm>#include<cstring>using namespace std;type原创 2018-01-04 20:25:18 · 305 阅读 · 0 评论