容斥原理
sillyf
这个作者很懒,什么都没留下…
展开
-
51nod 1806 wangyurzee的树[purfer][容斥]
可以转化为算有限制的purfer序列的方案数 满足m个条件的序列方案数可以直接算,详见BZOJ1005 然后知道n 个点的生成树的数量为 n^(n−2) 再分别求满足1,2,…,m个条件的方案数 容斥一下 这位大佬说得比较详细 #include #define LL long long #define N 1000000 #define P 1000000007 using na原创 2017-10-11 21:34:03 · 221 阅读 · 0 评论 -
BZOJ 2669: [cqoi2012]局部极小值
能成为局部极小值的位置最多同时存在8个,可以用状态压缩dp 把1~n*m依次填入矩阵,f[i][j]表示放完第i个数,状态为j的方案数 f[i][j]=f[i-1][j]*(p[j]-i+1)+f[i-1][k] //预处理p数组,p[i]表示状态为i时可以填数的位置有哪些 信心满满地wa了几发,发现显然会把某些不是答案的方案给统计进来,于是用容斥来排除那些不符合题目的方案 最后又wa原创 2017-05-30 20:53:30 · 395 阅读 · 0 评论 -
51nod 1486 大大走格子[容斥原理]
题面传送门题解好早以前就考过,当时根本不会O(nm)O(nm)的dp很简单,但是不够用啊。考虑通过障碍物转移原创 2018-01-09 18:54:53 · 295 阅读 · 0 评论 -
codeforces449D&&51nod 1407 与与与与 [dp][容斥原理]
中文题面 题解 设f[x]f[x]为&x==x的数的个数,g[x]g[x]为x转化为二进制以后1的个数 转化一下,求等于0的组数即 所有组合情况-含有位为1的组合数 容斥求一下含有位为1的组合数 ∑x=1220=(−1)g[x]−1∗(2f[x]−1)\sum^{2^{20}}_{x=1}=(-1)^{g[x]-1}*(2^{f[x]}-1) 2的幂减一是因为不能一个都不选,原创 2018-01-09 18:58:07 · 353 阅读 · 0 评论