容斥原理
goto_1600
我何来寂寞,哪有寂寞可言。
展开
-
AcWing 252. 树 点分治
Link题意:思路:口胡一下点分治,点分治之所以能保证复杂度是他的递归层数<=log(n),是因为树的重心的性质:树的重心中的最大子树也不超过n/2,这样下去n每次都会/2所以最多不超过logn层,然后每一层的复杂度不超过n,甚至可以套一个log。那么回到这题,运用点分治,每次找到目前子树的重心,然后不断递归求解,由于对于当前的点来说<=k的情况只有两种,一种是经过他,一种是不经过他,不经过他可以递归子树求解,经过他,可以暴力求解,暴力存储所有子树点到他的距离,然后容斥一下,也就是排除原创 2021-09-23 11:24:38 · 207 阅读 · 0 评论 -
ICPC 沈阳M - United in Stormwind SOSDP+FWT+容斥
题意:题意是真的难懂,求题目集(0~1<<m)中满足>=k对不同的试卷,两张试卷不同当且仅当至少存在一位不同,而且该位在题目集里。 n<=2e5 m<=20思路:我们可以把a和b当做0和1处理,我们可以先求出i xor j =ki ~xor~ j~=ki xor j =k的对数,为什么处理呢?因为对于任意某个位置为1的话那么就说明这两个试卷是不同的。怎么处理呢?可以fwt,a自己卷自己,先把a[0]减去n,然原创 2021-09-15 18:49:52 · 1396 阅读 · 2 评论 -
数字染色 gcd>1的子序列个数 容斥、莫比乌斯函数
link题意:长度为n的数组a,求gcd>1的子序列个数思路:考虑用容斥,把gcd拆成素数的乘积,先对a中的所有数都进行因子分解,然后每次计算,gcd是某个值x的倍数的方案数,那么对于任意因子p1p2p3…,我们考虑去重即可,会发现刚好是莫比乌斯的mu函数,质因子为2和以上的就不用算了,我们考虑单质因子的部分就能不重不漏的计算所有平方及以上的所有答案了,我们会发现某个数乘了一个单因子他的符号刚好就是*-1,刚好符合莫比乌斯函数的性质。如2计算了,3也计算了,那么就要去掉6的贡献。#inclu原创 2021-09-12 10:22:49 · 458 阅读 · 1 评论 -
CF296B Yaroslav and Two Strings
题意:有两个串,每个串的内容要么是数字要么是问号,一共多少种方案使得两个串中存在两个位置一个位置比另一个大,一个位置比另一个小。问号可以填0~9.思路:容斥原理,看一共有多少状态减去非法状态,一共的状态数等于10的问号次方,非法状态,要么就是全大于等于,要么就是全小于等于,要么就是全等于,假设res1,res2,res3是这三个解,total是一共的方案数,答案是total-res1-res2+res3,为什么要加上res3呢,因为我们一共要减去的是一个相等的方案数,然后res1,res2里面都包含了.原创 2020-09-09 16:04:57 · 270 阅读 · 0 评论