容斥原理
L_0_Forever_LF
一个热爱OI的OIer
展开
-
BZOJ3622: 已经没有什么好害怕的了 解题报告
感觉做完这题已经没有什么题害怕了呢(算了当我没说) 首先安利一个写的很好的题解orz http://www.cnblogs.com/dyllalala/p/3900077.html 写的挺详细的了,但是我总要写点什么吧,于是再解释一下做法…….首先可以把题意转化一下,如果(n+k)mod2=1(n+k)mod2=1那肯定是没有满足要求的情况了,如果不为1,问题就是要求糖果大于药片的恰好有m=(原创 2016-10-13 10:58:50 · 961 阅读 · 0 评论 -
UOJ#214. 【UNR #1】合唱队形
我们令fifif_i表示使得iii~i+L−1i+L−1i+L-1合法的期望次数,题目要求的其实就是min(f1,f2....fn−L+1)min(f1,f2....fn−L+1)min(f_1,f_2....f_{n-L+1})的期望 我们先考虑怎么求fifif_i,设共有UUU种课程,其中有LLL个课程是要上的,相当于UUU个白球,其中有LLL个球有标记,每次我们随机取出一个球将他染黑,问将...原创 2018-06-11 22:06:39 · 718 阅读 · 0 评论 -
BZOJ4671: 异或图
直接算连通的方案不好算,但要求某些点之间不连通的很好算,注意到图的点数不多,考虑容斥 用O(bell数)的复杂度枚举这个图的所有集合划分,计算每个不同集合的点一定不在一个联通块,同一个集合内的点没有限制(即不同集合间没有边)的方案数,把集合间的边编号,若图gi含有边ei,就在第ei位有个1,就是算这些数有多少个子集异或和为0,可以用线性基算这个方案数,然后设当前集合划分把n个点分成了i个集合,这...原创 2018-04-27 10:43:09 · 482 阅读 · 0 评论 -
BZOJ4714: 旋转排列
就是对于每个错排,统计里面有多少种环长 考虑枚举环长L,可以用容斥计算不含长为L的环的方案数cLcLc_L,总数减去cLcLc_L就是贡献 cL=∑[n/L]i=0((niL)∏ij=2(jL−1L−1)((L−1)!)i)cL=∑i=0[n/L]((iLn)∏j=2i(L−1jL−1)((L−1)!)i)c_L=\sum_{i=0}^{[n/L]}( (^n_{iL})\prod_{j=2}...原创 2018-04-25 08:24:12 · 242 阅读 · 0 评论 -
BZOJ4833: [Lydsy1704月赛]最小公倍佩尔数
可以看一下这篇东西 推一下f(n),e(n)的柿子,有 (1+2–√)n+1(1+2)n+1(1+\sqrt 2)^{n+1} =(1+2–√)n(1+2–√)=(1+2)n(1+2)=(1+\sqrt 2)^n(1+\sqrt 2) =(e(n)+f(n)2–√)(1+2–√)=(e(n)+f(n)2)(1+2)=(e(n)+f(n)\sqrt 2)(1+\sqrt 2) =e(n...原创 2018-04-07 20:18:30 · 413 阅读 · 0 评论 -
BZOJ4762: 最小集合
先推荐几个题解qaq Link1 Link2 注意看清公式里的括号,‘这类东西qaq 定义f(S)f(S)f(S)为SSS中所有数的AND,SaSaS_a为集合S去掉元素a后剩余元素 因为0&x=0,所以若对于集合SSS,有S′⊂S,f(S)=0,S≠ϕS′⊂S,f(S)=0,S≠ϕS' \subset S,f(S)=0,S\neq \phi,那么只要|S′|<|S|−1|...原创 2018-02-23 15:24:25 · 428 阅读 · 0 评论 -
BZOJ1931: [Shoi2007]Permutation 有序的计数
设给定的排列为T,题中所给符号用f(T)表示(懒得打 枚举排列S 枚举S从第i+1位开始比T小,那么S的前i位和T相同,设前i位得到的价值为c,i+1~n位就需要提供f(T)-c的价值 设i+1~n中有k个数没有在T的1~i位出现,则S的i+1~n位只能由这k个数中的f(T)-c个数提供价值,带上一个Cf(T)−ckC_k^{f(T)-c}的系数 那么剩下的k−(f(T)−c)k-(f(T原创 2018-01-17 21:23:30 · 296 阅读 · 0 评论 -
BZOJ3812: 主旋律
cls在wc讲的神题,无限Orz 直接求原图强联通的生成子图个数不好求,考虑用总方案数减不是强联通的方案数 如果原图不是强联通,缩点后一定是一个点数>1的DAG 有一个比较暴力的做法,即枚举每个强联通分量,将它缩点 令f[S]表示枚举了S内的强联通分量DAG的个数,cnt[S]表示S内的边数f[S]表示枚举了S内的强联通分量DAG的个数,cnt[S]表示S内的边数 由于一个DAG一定有出原创 2018-01-22 20:34:18 · 465 阅读 · 0 评论 -
BZOJ3294: [Cqoi2011]放棋子
一开始一直以为可以不放完棋子…n、m都不大,可以考虑DP 因为每行、每列只能放一种颜色的棋子,所以考虑把棋盘独立成n行m列,将这些行和列分给每种颜色的棋子 定义: f[i][j]f[i][j]表示第k种棋子占据i行j列有多少种合法的放法, g[k][i][j]g[k][i][j]表示前k种棋子占据i行j列有多少种合法的放法 求ff的时候可以用容斥,用所有的放法减去所有不合法的放法,预处理一原创 2017-03-07 13:12:51 · 863 阅读 · 0 评论 -
BZOJ3930: [CQOI2015]选数
差不多是条咸鱼了…………一开始对着题目yy了一个貌似很正确,复杂度不会算的搜索,想了想不是很敢打,往DP想,然后想出了一个看起来很正确的DP,然后挂了…. 那想容斥咯………..不会……… 那试试反演咯…………..还是不会……… 那我到底会什么………….. 看题解好像还是会的这题做法好多的样子,主要是两类,一类是反演,Orz PoPoQQQ μμ的前缀和处理窝看不懂…………还有一类是容斥,因为原创 2016-11-04 08:52:25 · 925 阅读 · 0 评论 -
UOJ#211. 【UER #6】逃跑
谢谢栋栋教我这题qaq 先画一下柿子 ans=E×all=all∑(ai−ave)2=all∑(a2i−2ai×ave+ave2)ans=E×all=all∑(ai−ave)2=all∑(ai2−2ai×ave+ave2)ans=E×all=all\sum(a_i-ave)^2=all\sum(a_i^2-2a_i×ave+ave^2) ave=∑aiallave=∑aiallave=\df...原创 2018-06-18 16:41:33 · 549 阅读 · 0 评论