首页 > 其他分享 >9. 容斥与反演

9. 容斥与反演

时间:2024-08-23 18:16:57浏览次数:8  
标签:sub sum 容斥 times 反演 binom

9.容斥与反演

容斥原理:

\[|\bigcup_{i=1}^n P_i|=\sum_{S\subseteq U} (-1)^{|S|-1}|\bigcap_{s\in S}P_s| \]

感性理解: \(P_i\):”满足某种性质的元素的集合“;左边:具有任意一种性质的元素的并,右边:至少具备多个性质的元素。

证明:考虑一个元素 \(x\),设其包含在 \(k\) 个集合内,那么当集合 \(|s|=t\) 时,会被算 \(\binom{k}{t}\) 次,其系数为 \((-1)^{t-1}\),整理:

\[\sum_{i=1}^k (-1)^{i-1} \binom{k}{i}=-\sum_{i=0}^k\binom{k}{i}(-1)^i+1=-(1-1)^k+1=1 \]

不定方程计数

有不定方程 \(\sum x_i=S\),均为非负整数,有限制 \(x_i\le k\),求解数。\(n,k\le 10^5\)。

  • 不好直接做,考虑容斥。
  • 枚举几个至少大于 \(k\),\(S\) 则变成 \(S-(k+1)\times i\),问题转化为没有限制的问题,运用插板法解决。

\[ans=\sum_{i=0}^n(-1)^i\binom{n}{i}\binom{S-(k+1)i+n-1}{n-1} \]

多重集的错位排列

给定非排列的 \(a_i\),求有多少种改变顺序得到的 \(b_i\) ,满足 \(\forall \ b_i\ne a_i\) 。\(n\le2000\) 。

普通错排的递推式就是 \(D(n)=(n-1)\times (D(n-1)+D(n-2))\) ,就是考虑最后一步,是交换之前的一个错排,还是之前的一个非错排。

但是错排还有容斥形式,至少一个的容斥系数就是:(固定零个)-(固定一个)+ (固定两个)-(固定三个)+(固定四个)...

即:(刚好打破 \(0\) 个限制)=(至少打破 0 个限制)-(至少打破 1 个限制) + (至少打破两个限制) - (至少打破三个限制)...

写成封闭形式,即 \(D(n)=\sum (\binom{n}{i}(-1)^i\times(n-i)!)\)

回顾一下容斥原理的本质:容斥系数为正的时候,是为了求出那些最后一次有机会能求出的数。

另外,对于多重集的全排列公式,即 \(\frac{n!}{n_1!n_2!n_3!...n_k!}\) 。

考虑 \(dp\) ,设 \(f[i][j]\) 表示考虑了 \(i\) 个数字,\(j\) 个位置强制打破。数组值存的是 容斥系数×方案数。

枚举当前数字 \(i\) 强制打破了 \(k\) 个限制, $f[i][j]=\sum f[i-1][j-k]\times (-1)^k\times \binom{siz[i]}{k}\times \frac{1}{(siz[i]-k)!} $ ,和上面基本一样。

最后答案即 \(\sum f[m][i] \times (n-j)!\) 。

[JSOI2015] 染色问题

给你一个 \(n\times m\) 的网格和 \(c\) 种颜色,要求每行,每列至少染色一个,\(c\) 种颜色必须全用。\(n,m,c\le 400\)。

发现有三层限制,我们至少要容斥掉两层。

设 \(f(c)\) 为至多使用 \(c\) 种颜色的方案数,则 \(ans=\sum(-1)^{c-i}\binom{c}{i}f(i)\)。

再容斥一维,看哪些列全为 \(0\)。

\[f(c)=\sum _{i=0}^m(-1)^{m-i+1} \binom{m}{i}((c+1)^n-1)^i \]

[ZJOI2016] 小星星

给你一个无向图,再给你一个 \(n\) 个点的树,问有多少给点重编号的方式,使得树上的边均存在于原图中。

\(n\le17,m\le \binom{n}{2}\)。

不容易想到 \(O(n^33^n)\) 的树形 DP,设 \(f[i][j][S]\) 表示将 \(i\) 重标号为 \(j\),遍历 \(j\) 在图上连的点 \(y\) 是相连的。

转移方程:

\[f[u][j][S]=\prod (\sum_{(u,v)\in T(u),(j,k)\in G,S'\sub S} f[v][k][S']) \]

考虑我们为什么要存一个子集,是为了保证重标号的结果是一个排列,也即不重不漏,怎么计数?容斥!

枚举一个 \(S\),设 \(g(S)\) 表示只考虑 \(S\) 内的编号,也即:至多选择这些点。运用子集反演,则答案为 \(\sum (-1)^{n-|S|}g(S)\)。

[TJOI2019] 唱、跳、rap和篮球

给定 \(a,b,c,d\) 个唱跳rap篮球,将他们放在长度为 \(n\) 的序列中,求有多少方案满足不存在相邻的唱跳rap篮球。相同类型彼此不区分。\(n\le1000,a,b,c,d\le 500,a+b+c+d\ge n\)。时间限制 \(4s\)。

很套路的容斥,我们钦定有 \(i\) 个相邻的,那么答案就是 \(\sum_{i}(-1)^{i}f(i)\)。

因为 \(n\) 和种类数都较小,所以我们可以直接 dp求出 \(f(i)\):设 \(g_{i,j,c}\) 表示前 \(i\) 种颜色放了 \(j\) 个,钦定了 \(c\) 个位置,再往里插板即可。

一个比较关键的是:钦定 \(i\) 个长度为 \(4\) 的子段的方案数是多少?答案是 \(\binom{n-3i}{i}\),貌似高中数学称为捆绑法(我只听过一节)?

因此答案即为 \(\sum_{i}\binom{n-3i}{i}(-1)^{i}g(n,j,n-4c)\)。

[AHOI2018初中组] 球球的排列

给定序列,求有多少种排列方式,使得没有相邻两个数的乘积是完全平方数。\(n\le 300,a_i\le 10^9\)。

首先易得关键性质:若 \(ab=x,bc=y\) 为完全平方数,则 \(ac\) 同样也是。证明:\(ac=\frac{xy}{b^2}\) 显然是整数,且是完全平方数。

于是题意可以转换为:

有 \(m\) 种颜色的球,第 \(i\) 种的颜色有 \(s_i\) 个,\(\sum s_i=n\),求同色不相邻的方案,球有编号。

真的是组合计数困难题呀,想了一天的式子,中间牵扯到多重集全排列以及交换求和顺序等等知识点。

O(n^3) dp做法:

  • 设 \(f[i][]\)

O(n^2) 容斥做法:

  • 我们可以 钦定 对于前 \(i\) 种颜色,总共有 \(j\) 个相邻,当前颜色有 \(k\) 个相邻,这样的情况有多少?

  • 设 \(f_i\) 表示总共有 \(i\) 个相邻。

\[ans=(\prod_{j=1}^m a_j!)\times \sum_{i=0}^n((n-i)!\times f_{n,i}\times(-1)^i) \\ f_{i,j}=\sum_{k=0}^{\min(a_j,j)}\ f_{i-1,j-k}\times \frac{1}{(a_i-k)!}\times \binom{a_i-1}{k} \]

容斥在什么时候起效?

  • \(=\) 或 \(\ne\)
  • \(\min\) 或 \(\max\)
  • 至少 或 恰好

二项式反演

实际上,反演在线性代数上的本质相当于矩阵乘法,即为,有两个向量 \(F,G\),转移矩阵 \(H\),有

\[F=G\times H \]

如果 \(H\) 存在逆 \(H^{-1}\),则有:

\[G=F\times H^{-1} \]

问题转化为了构造矩阵以及求矩阵逆元。

由此本质出发,矩阵自身进行一些转置什么的操作,依旧满足性质。

定理内容:

\[g(n)=\sum_{i=0}^n \binom{n}{i}f(i) \]

则有:

\[f(n)=\sum_{i=0}^n\binom{n}{i}(-1)^{n-i}g(i) \]

证明:使用vfk原ppt方法

我们依旧回到错排问题,设 \(f(n)\) 表示错排方案数,\(g(n)\) 表示随便放,则 \(g\) 可以写成关于 \(f\) 的形式:

\[g(n)=\sum_{i=0}^n\binom{n}{i}f(i) \]

即为枚举哪些人站错了,剩下的人都站对了。

考虑一个显然正确的式子:

\[f(n)=\sum_{m=0}^n[m=n]\binom{n}{m}f(m) \]

对于艾佛森括号,我们可以通过二项式定理展开,即:

\[(1-1)^n=\sum_{i=0}^n\binom{n}{i}(-1)^i=[n=0] \]

再次代入:

\[f(n)=\sum_{m=0}^n\sum_{i=0}^{n-m}\binom{n-m}{i}(-1)^i\binom{n}{m}f(m) \]

其中有两个组合数,考虑组合意义:先在 \(n\) 种选 \(m\) 个,再从剩下的选 \(i\) 个,先后顺序是不重要的,所以有:

\[f(n)=\sum_{m=0}^n\sum _{i=0}^{n-m}(-1)^i\binom{n}{i}\binom{n-i}{m}f(m) \]

交换求和符号:

\[f(n)=\sum_{i=0}^n(-1)^i\binom{n}{i}\sum_{m=0}^{n-i}\binom{n-i}{m}f(m) \]

不难发现后面的式子即为 \(g(n-i)\):

\[f(n)=\sum_{i=0}^{n}(-1)^i\binom{n}{i}g(n-i) \]

令 \(t=n-i\),则 \(i=n-t\)。

\[f(n)=\sum_{t=0}^n(-1)^{n-t}\binom{n}{t}g(t) \]

证毕。

“至多/至少"和"恰好"的转换

\[g(n)=\sum_{i=0}^n \binom{n}{i}f(i)\Longleftrightarrow f(n)=\sum_{i=0}^n(-1)^{n-i}\binom{n}{i}g(i) \\ g(k)=\sum_{i=k}^n \binom{i}{k}f(i)\Longleftrightarrow f(k)=\sum _{i=k}^n(-1)^{i-k}\binom{i}{k}g(i) \]

考虑组合意义,上式的 \(g(i)\) 表示 至多i,下式表示 至少 i。右侧 \(f\) 均表示恰好 \(i\)。

应用在于算容斥系数。

例题1:P4859 已经没有什么好害怕的了

给定两个序列,\(a_i,b_i\),要求两两配对使得 \(a_j>b_k\) 的配对数减去 \(a_j<b_k\) 的配对数恰好等于 \(t\),求方案数。\(t\le n\le 2000\)。保证 \(a,b\) 互不相同。

因为没有相等的元素,所以 \(a>b\) 的个数一定是 \(\frac{n+k}{2}\)。特判掉 \(n+k\) 为奇数的情况。

问题变成了计数 \(a>b\) 恰好为 \(k'\) 的方案。

我们肯定需要分别升序排序,然后考虑 \(a_i\) 匹配了哪个位置上的 \(b_j\)。

设 \(f_{i,j}\) 表示考虑 \(a\) 的前 \(i\) 个位置已经匹配,此时比 \(a_i\) 小的 \(b\) 还有 \(j\) 个:

如果当前 \(a_i\) 匹配了一个小于 \(a_i\) 的 \(b\),那么下一个 \(a_{i+1}\) 会减少一个能够匹配的 \(j\)。

但是如果匹配了一个大于 \(a_i\) 的 \(b\),下一个 \(a_{i+1}\) 不好确定是否会减少,这样看似只能状压,如何刻画?

考虑反演。我们要计算 恰好有 k 对匹配,通过二项式反演,我们也可以求 至少有 k 对匹配

设 \(f_{i,j}\) 表示至少匹配了 \(j\) 次 \(<a\) 的匹配,那么每次要么不匹配,匹配的方案有 \(s-j\) 种,其中 \(s\) 是小于 \(a_i\) 的 \(b\) 的个数。

\[f[i][j]=f[i-1][j]+f[i-1][j-1]*(s-j) \]

设 \(g_i\) 表示至少 \(i\) 对匹配,有 \(g_i=\sum (n-i)!f_{n,i}\),前面的阶乘表示剩下的随便乱选。

然后对于恰好的转换就是:\(ans=\sum_{i=k}^n(-1)^{i-k}\binom{i}{k}g(i)\)。

降智错误:最后的 k,实际上是 (n+k)/2!!!

子集反演

定理内容

\[g[S]=\sum_{T\sub S} f[T] \]

则有:

\[f[S]=\sum _{T\sub S}(-1)^{|S|-|T|}g[T] \]

证明

类似的,我们可以反演艾佛森括号:

\[\sum_{T\sub S} (-1)^{|T|}=[|S|=0] \]

等价于二项式反演,因为元素大小为 \(|T|\) 的元素有 \(\binom{|S|}{|T|}\) 个。

\[f[S]=\sum_{T\sub S}[|S|=|T|] f[T] \\ f[S]=\sum_{T\sub S}\sum _{P\sub S-T}(-1)^{|P|}f[T] \\ f[S]=\sum _{P\sub S}(-1)^{|P|}\sum _{T\sub S-P} f[T] \\f[S]=\sum_{P\sub S}(-1)^{|P|}g[S-P] \\ f[S]=\sum_{P\sub S}(-1)^{|S|-|P|}g[P] \]

P6442 [COCI2011-2012#6] KOŠARE

给定 \(n\) 个箱子,每个箱子中有若干件物品,所有物品的种类数 \(m\le 20\),求选择箱子的方案数,使得每种物品都被包含。\(n\le 10^6\)。

直接做不好做,显然用子集反演,但是是选择“至少”还是“至多”呢?

我们考虑 \(f[S]\) 表示选的物品是 \(S\) 的子集的方案数,\(ans=\sum_{T\sub 2^m}(-1)^{m-|T|}f[T]\) 。

再求出 \(g[S]\) 表示有多少箱子是 \(S\) 的子集,\(f[S]=(2^{g[S]}-1)\)。

可以发现 \(g[S]\) 相当于高维前缀和。

[ARC101E] Ribbons on Tree

给定大小为 \(n\) 的树,给树上的点两两配对,对于每一组配对 \((u,v)\) 将其路径上的边全部覆盖,定义一个配对方案合法,当且仅当每一条边都被覆盖。\(n\le 5000\) 且是偶数。

套路的,有 \(O(n^3)\) 的 DP:

设 \(f_{u,i}\) 表示 \(u\) 为根的子树内有 \(i\) 个点未匹配的方案数,转移用 \(f_{u,i}\times f_{v,j}\times \binom{i}{k}\binom{j}{k}\to f_{u,i+j-k}\) 。

这样没有优化的空间了,考虑子集反演(容斥):

\[ans=\sum_{S\sub E}(-1) \]

P3813 [FJOI2017] 矩阵填数

给定一个 \(h\times w\) 的矩阵,每个位置可以填 \([1,m]\) 的数。

有 \(n\) 个限制:表示一个子矩阵的最大值为 \(v\)。

求方案数。\(h,w,m\le 10^4,n\le 10\)。

对于多个矩形,满足条件是不好做的,但是不满足条件是好做的,只需要 \(s^{v}-s^{v-1}\) 即可,其中 \(s\) 是这个矩形的点个数。

设 \(f(S)\) 表示至少打破 \(S\) 集合内的限制,最终求恰好打破 \(0\) 个限制,直接子集反演。

因为 \(n\) 只有 \(10\),我们可以先离散化,这样有用的点就是 \(O(n)\) 个了。

这样暴力遍历矩形并 checkmin,可以在 \(O(n^3)\) 求出 \(f(S)\)。

时间复杂度 \(O(2^nn^3)\)。

当走不动的时候多想想离散化,NOIP2023T4说不定就拿满了。

这里二维矩形的离散化来整理一下,两种思路:

  1. 每个点保存以其为右上角的矩形,放在一维上存的是 \((x_{i-1},x_i]\) 左开右闭,注意到这样可以充分利用 \(x[0]=0\),但仍要加入 \(x[n+1]=h\)。

    对于输入矩形 \((x_1,y_1,x_2,y_2)\),因为左开右闭,所以实际上存的是 \((x_1-1,y_1-1,x_2,y_2)\),进行遍历的时候,实际上是:

    for(int x=q[j].x1+1;x<=q[j].x2;x++) {
        for(int y=q[j].y1+1;y<=q[j].y2;y++) {
            a[x][y]=min(a[x][y],q[j].v-1);
        }
    }
    for(int x=1;x<=tot1;x++) {
        for(int y=1;y<=tot2;y++) {
            int s=(X[x]-X[x-1])*(Y[y]-Y[y-1]);	
            ans=ans*ksm(a[x][y]%mod,s)%mod;	
        }
    }
    
  2. 每个点保存以其为左下角的矩形,放在一维上是左闭右开,这样需要加入 \(x[1]=1,x[n+1]=h+1\)。

    对于输入矩形,其右上角要加一,遍历的时候只能到右端点减一。

都可以先从一维上考虑,理清思路再写,检查考场上会写慌。

[SHOI2016] 黑暗前的幻想乡

有一张无向完全图,每条边有一个颜色,总共有 \(n-1\) 种颜色,求恰好有 \(n-1\) 种颜色的生成树个数。\(n\le 17\)。

这题也非常牛!

如果已知一个无向图,那么我们很好用矩阵数定理求生成树个数。

但是颜色的限定很制,限制表示一个颜色只能选一条边,我们枚举选的颜色集合,表示至多打破这些颜色的限制,形成的生成树个数,最终要求的是恰好打破 0 个颜色限制的个数。子集反演即可。

Min-max 容斥

定理内容

\[\max (S)=\sum_{T\sub S} (-1)^{|T|+1}\min(T)\tag{1} \]

证明

对于每一个 \(a_i\in T\),考虑其作为最小值的贡献次数,显然,小于 \(a_i\) 的不能选,不妨设大于 \(a_i\) 的有 \(k\) 个,枚举,则有:

\[\sum_{i=0}^k\binom{k}{i}(-1)^{i+1+1} \]

由二项式反演易知其结果为 \([k=0]\),即只有最大值能有贡献。

期望形式

\[E(\max S)=\sum_{T\sub S} (-1)^{|T|-1}E(\min T)\tag{2}) \]

扩展形式

\[\text{kthmax(S)}=\sum _{T\sub S,|T|\ge k}(-1)^{|T|-k}\binom{|T|-1}{k-1}\min \text{T}\tag{3} \]

P3175 [HAOI2015] 按位或

初始手上有一个 \(0\),每一秒你可以选择一个 \([0,2^n-1]\) 的数字与手上的数字进行按位或,选择 \(i\) 的概率是 \(p_i\),问期望多少秒后手上的数字变成 \(2^n-1\)。\(n\le 20\)。

前置知识:离散随机变量的几何分布

这是高中数学吗?

抛出一个六面的筛子,丢出数字 \(1\) 的期望是多少?答案即为 \(1/(1/6)=6\)。

证明:

\[E(x)=\sum_{i=1}^\inf i\cdot P(x=i) \\ E(x)=\sum_{i=1}^{\inf}P(x\ge i) \\ E(x)=\sum_{i=1}^\inf (1-p)^{i-1} \\ E(x)=\sum_{i=0}^\inf (1-p)^i=\frac{1-(1-p)^{\inf}}{1-(1-p)}=\frac{1}{p} \]

我们把 \(n\) 为二进制直接看成集合,定义集合的 \(\max\) 为集合中最后一个位置变成 1 的时间,定义 \(\min\) 为集合中第一个位置变成 1 的时间。这样做的原因是第一个位置变成 1 是好求的。

\[E(\min S)=\frac{1}{p} \\ p=1-\sum_{T\sub(U-S)}P_T \]

注意我们求概率 \(p\) 的时候就已经不关心试了几次了,只用求一次的情况。

因此,我们只需计算一遍高维前缀和即可,如果最后要求任意结束位置,则需要求两遍高维前缀和。

P4707 重返现世

[PKUWC2018]随机游走

有根树,初始给定起点。每次询问树上随机游走经过一个点集中所有点至少一次的期望步数。 \(n\le 18\)。

相当于求集合最后一个点经过的时间,可以用Min-Max容斥转换为求第一个点经过的时间。

根据期望的套路,可以直接dp,设 \(f_{i,s}\) 表示从 \(i\) 出发,第一次走过 \(s\) 内任意一个点的期望时间,有转移:

\[f_{i,s}=1+\frac{1}{deg_i}(f_{fa,s}+\sum f_{v,s}) & (i\notin s) \\ f_{i,s}=0 &(i\in S) \]

需要高斯消元,时间复杂度 \(O(n^33^n)\)。

对于树上需要高斯消元的问题,如果我们将转移方程写成关于父亲的函数,那么可以在 O(n) 时间做树上高消

具体的,设 \(f_i=A_if_{fa[i]}+B_i\),则转移方程可以写成:

\[deg_if_i=f_{fa[i]}+(\sum_{(v\in son[i])} a_v)f_i+(\sum_{v\in son[i]}b_v)+deg_i \\ A_i=\frac{1}{deg_i-\sum a_v},B_i=\frac{\sum b_v+deg_i}{deg_i-\sum a_v} \]

非常牛,\(A,B\) 均只与子树信息有关,同时和 \(S\) 无关可以直接一遍树形 dp 得到

错误的,不要忘了 \(S\) 的限制,当 \(x\in S\) 的时候直接 return 即可。

P3600 随机数生成器

斯特林反演

标签:sub,sum,容斥,times,反演,binom
From: https://www.cnblogs.com/AK-IOI/p/18376793

相关文章

  • 2024牛客多校第九场 C.Change Matrix 欧拉反演
    这题是欧拉反演的应用,之前没学过欧拉函数和欧拉反演,傻傻对着\(gcd(i,j)\)不知道怎么化简。首先对原来的矩阵进行转化,拆成\(n\)个小矩阵因为\(gcd(i,j)=\sum_{x|i,x|j}\phi(x)\)这是因为对于任意的正整数\(n\)都有\(n=\sum_{d|n}\phi(d)\),证明见oiwiki:https://oi-wi......
  • 反演(2)
    CP4反演与共轴圆系还是有很大关联的。我们说,共轴圆系反演后还是共轴圆系,理由如下:对于有两个交点的共轴圆系,反演后的所有圆还是过这两个点(的对应点),所以还是共轴圆系对于切于某点的共轴圆系,由反演的保相切,它们依旧相切与一点对于无交点的共轴圆系,我们找到与它共轭的共轴圆......
  • 反演(1)
    反演是一种几何变换。在给出它的具体变换前,需要明确几个概念:直线是一种退化的圆,我们将直线与圆统称为广义圆所有直线交于一个点,即无穷远点\(P_\infty\)需要指出的是,反演中所述的无穷远点只有一个,这与射影几何中无穷个的无穷远点有一定区别上述的定义可以给出广义圆的相......
  • 容斥原理
    二项式系数  二项式定理证明过程 (x+y)^n=(x+y)(x+y)(x+y)........(x+y)我们先展开式子,得出以上等式。为了方便,我们以n=3举例(x+y)^3=(x+y)(x+y)(x+y)对于每一个因式(即每一个(x+y)),都可以选择x或者y和其他的因式(即其他的(x+y))也选出x或者y相乘,然......
  • 【无人机】基于动态反演和扩展状态观测器的无人机鲁棒姿态控制研究(Matlab代码实现)
     ......
  • 并非详细:集合划分容斥的容斥系数
    dp转移时,我们有时会要求枚举一个极大的合法子集进行转移,但是往往不能很好地处理极大的限制,只能枚举一个不作限制的合法子集。我们希望通过容斥使得每个极大的子集的转移正确。引用一份看到的形式化描述:在某种等价关系下,对于某一组合结构,构成其的元素其可以被划分成若干等价类,有......
  • lg容斥与反演
    容斥与反演容斥之前从没有搞清楚的:容斥是一种方法,为了做到不重复计数,先算总和再去除重复的方法。所以我们可以计算任意具备一种性质的元素个数(并),通过计算“至少具备了某些元素的个数”(交)。另一种形式:总数-不满足所有性质的元素=任意满足一种性质的元素此时,不满足所有性质即......
  • min-max 容斥
    前置知识请牢记二项式定理:\((a+b)^n=\sum\limits_{i=0}^{n}{\dbinom{n}{i}a^{n-i}b^i}\)或另外一种形式:\((a+1)^n=\sum\limits_{i=0}^{n}{\dbinom{n}{i}a^{n-i}}\)min-max容斥min-max容斥的主要思想是给每个子集分配一个系数(然后每个属于子集的\(a_i\)的系数加上该......
  • 二项式定理+二项式反演
    序(感谢9G对本博客证明的大力支持)前置知识1:排列组合2:多步容斥\[\dbinom{n}{m}=\binom{n}{n-m}=\mathrm{C}_n^m=\mathrm{C}_n^{n-m}\]\[\dbinom{n}{m}*\binom{m}{s}=\dbinom{n}{s}*\binom{n-s}{n-m}\]\[\dbinom{n}{x-1}+\binom{n}{x}=\dbinom{n+1}{x}\]证明:\(\dbinom{n}{x......
  • 【笔记】计数选讲:容斥、LGV、集合幂级数、GF 2024.8.2
    今天写的很乱。[HEOI2013]SAO容斥。因为我们已经知道父亲\(<\)儿子时的情况(\(n!/\prod_isiz_i\),也适用于森林),那么儿子\(<\)父亲的情况就容斥掉,无限制的就当作那条边不存在。树上背包,记录当前节点为根的连通块大小和容斥系数的积。*[ECFinal23A]DFSOrder4转写为:统计多......