题目:http://codeforces.com/gym/101933/problem/K 每个点只要和父亲不同色就行.所以 “至多 i 种颜色” 的方案数就是 i * ( i-1 )n-1 . #include<cstdio> #include<cstring> #include<algorithm> #define ll long long using namespace std; ,mod=1e9+; int n,k,g[N],c[N][N]; ;} int pw…
题目:http://codeforces.com/gym/101933/problem/K 其实每个点的颜色只要和父亲不一样即可: 所以至多 i 种颜色就是 \( i * (i-1)^{n-1} \),设为 \( f(i) \),设恰好 i 种颜色为 \( g(i) \) 那么 \( f(i) = \sum\limits_{j=0}^{i} C_{i}^{j} * g(j) \) 二项式反演得到 \( g(i) = \sum\limits_{j=0}^{k} (-1)^{k-j} * C_{k}…
传送门 解题思路 首先给出的树形态没用,因为除根结点外每个点只有一个父亲,它只需要保证和父亲颜色不同即可.设\(f(k)\)表示至多染了\(k\)种颜色的方案,那么\(f(k)=(k-1)^{(n-1)}*k\),而我们要求的是恰好染\(k\)种颜色的方案数,设其为\(g(k)\),易得 \[ g(k)=\sum\limits_{i=1}^k\dbinom{k}{i}f(i) \] 发现这个可以二项式反演 \[ g(k)=\sum\limits_{i=1}^k(-1)^{k-i}\dbinom{…
题目链接 BZOJ3622 题解 既已开题 那就已经没有什么好害怕的了 由题目中奇怪的条件我们可以特判掉\(n - k\)为奇数时答案为\(0\) 否则我们要求的就是糖果大于药片恰好有\(\frac{n - k}{2} + k\)个的方案数,我们记为\(K\) 思路1 直接求恰好不好求,想到二项式反演: 如果有 \[b_k = \sum\limits_{i = k}^{n} {i \choose k} a_i\] 那么有 \[a_k = \sum\limits_{i = k}^{n} (-1)^…
传送门 解题思路 设\(f(k)\)为交集元素个数为\(k\)的方案数.发现我们并不能直接求出\(f(k)\),就考虑容斥之类的东西,容斥首先要扩大限制,再设\(g(k)\)表示至少有\(k\)个交集的方案数.\(g(k)\)是特别好算的,可以强制\(k\)个元素必选,其余的任意,那么有 \[ g(k)=\sum\limits_{i=k}^n\dbinom{n}{i}(2^{2^{n-i}}-1) \] 用\(g\)来表示\(f\)可得 \[ g(k)=\sum\limits_{i=k}^n\d…
LINK:游戏 还是过于弱鸡 没看出来是个二项式反演,虽然学过一遍 但印象不深刻. 二项式反演:有两种形式 一种是以恰好和至多的转换 一种是恰好和至少得转换. 设\(f_i\)表示至多的方案数 \(g_i\)表示恰好的方案. 则有 \(f_n=\sum_{i=0}^nC(n,i)\cdot g_i\) 根据二项式反演则有 \(g_n=\sum_{i=0}^n(-1)^{n-i}\cdot C(n,i)\cdot f_i\) 设\(f_i\)表示至少的方案数 \(g_i\)表示恰好的方案. 则有…
题目分析 题目要求在树上涂上恰好\(K\)种颜色的方案数. 设\(f(k)\)表示恰好涂上\(k\)种颜色的方案数(答案即为\(f(K)\)). 设\(g(k)\)表示至多涂上\(k\)种颜色的方案数. 显然有:\(g(k)=\sum\limits_{i=1}^k\dbinom{k}{i}f(i)\) 那么二项式反演后:\(f(k)=\sum\limits_{i=1}^k(-1)^{k-i}\dbinom{k}{i}g(i)\) 考虑如何求\(g(i)\). 如果是序列上的问题,显然就是\(i*…
http://codeforces.com/contest/111/problem/D Little Petya loves counting. He wants to count the number of ways to paint a rectangular checkered board of size n × m (n rows, m columns) in k colors. Besides, the coloring should have the following proper…
方法一 设\(f_i\)为最多使用\(i\)种颜色的涂色方案,\(g_i\)为恰好只使用\(i\)种颜色的涂色方案.可知此题答案为\(g_k\). 根据排列组合的知识不难得到\(f_k = \sum_{i=0}^k{C_k^i*g_i}\). 根据二项式反演的式子 or 容斥原理,有\(g_k = \sum_{i = 0}^k{(-1)^{k-i}*C_k^i*f_i}\),这时只要有\(f_i\)我们就可以累加得到最终答案,看题面考虑\(f_i\)的现实意义,根有\(i\)种可选,往下涂每个点…
//待更qwq 反演原理 二项式反演 若 \[g_i=\sum_{j=1}^i {\binom ij} f_j\] , 则有 \[ f_i=\sum_{j=1}^i (-1)^{i-j} {i \choose j} g_j \] 同时, 若 \[g_i=\sum_{j=1}^i (-1)^j {i \choose j} f_j\] , 则有 \[f_i=\sum_{j=1}^i (-1)^j {i \choose j} g_j\] 通过反演原理和组合数的性质不难证明. 0/1? todo Sti…