【组合数学:三】容斥原理

容斥原理及其应用

容斥原理

  • 之前我们已经见过,对集合中对象个数的间接计数要比对这些对象直接计数容易,即利用减法原理
  • 例子: 1 ∼ n 1\sim n 1n 的全排列,且 1 1 1 不在第一个位置的方案数
    解一:第一个位置选取除了 1 1 1 的数,方案数 n − 1 n-1 n1 ,剩下的全排列 ( n − 1 ) ! (n-1)! (n1)!
    解二:全集: n ! n! n! ,第一个位置放 1 1 1 的排列方案为 ( n − 1 ) ! (n-1)! (n1)!,所以方案为 n ! − ( n − 1 ) ! n!-(n-1)! n!(n1)!
  • 例子: 1 ∼ 600 1 \sim 600 1600 之间不能被 6 6 6 整除的整数的个数
    解: 600 − 600 / 6 = 500 600-600/6=500 600600/6=500
  • 上面是关于容斥定理的最简单的例子
    现在我们把它扩展到容斥定理
    P i P_i Pi 表示 S S S 对象涉及到的性质
    并设 A i = { x : x 属 于 S 且 x 具 有 性 质 P i } A_i=\{x:x属于S且x具有性质P_i\} Ai={x:xSxPi}
    比如 A i ∩ A j A_i\cap A_j AiAj 就是同时具有性质 P i , P j P_i,P_j Pi,Pj
    不具有任何性质的对象形成的子集则是 ∩ i A i ˉ \cap_i\bar{A_i} iAiˉ
  • 定理:集合 S S S 中不具有性质 P 1 ∼ P m P_1\sim P_m P1Pm 的对象个数由下面的交错表达式给出:
    ∣ ∩ i A i ˉ ∣ = ∣ S ∣ − ∑ ∣ A i ∣ + ∑ ∣ A i ∩ A j ∣ − ∑ ∣ A i ∩ A j ∩ A k ∣ + ⋯ + ( − 1 ) m ∣ ∩ i A i ∣ |\cap_i\bar{A_i}|=|S|-\sum |A_i|+\sum |A_i\cap A_j|-\sum|A_i\cap A_j \cap A_k|+\cdots+(-1)^m|\cap _iA_i| iAiˉ=SAi+AiAjAiAjAk++(1)miAi
    右边的项数为 2 m 2^m 2m
    证明:若 x x x 不具备任何一个性质 P i P_i Pi ,那么 x x x 对式子的贡献是 1 − 0 + 0 ⋯ = 1 1-0+0\cdots=1 10+0=1
    x x x 具有 y y y 个性质, x x x 对于 ∣ S ∣ |S| S 的贡献是 1 1 1
    它对 ∑ ∣ A i ∣ \sum|A_i| Ai 的贡献是 C n 1 C_n^1 Cn1
    它对 ∑ ∣ A i ∩ A j ∣ \sum|A_i\cap A_j| AiAj 的贡献是 C n 2 C_n^2 Cn2
    于是,它的总的贡献就是 ∑ ( − 1 ) i C n i = 0 \sum (-1)^iC_n^i=0 (1)iCni=0,于是得证
  • 推论:集合 S S S 中至少具有性质 P 1 ∼ P m P_1\sim P_m P1Pm 之一的对象个数由下式给出:
    ∣ ∪ i A i ∣ = ∑ ∣ A i ∣ − ∑ ∣ A i ∩ A j ∣ + ⋯ + ( − 1 ) m + 1 ∣ ∩ i A i ∣ |\cup_i A_i|=\sum |A_i|-\sum |A_i\cap A_j|+\cdots +(-1)^{m+1}|\cap_i A_i| iAi=AiAiAj++(1)m+1iAi
    证明:根据德摩根定理,即:
    ∪ A ‾ i = ∩ A i ˉ \overline{\cup A}_i=\cap \bar{A_i} Ai=Aiˉ
    所以等式左边 ∣ ∪ A i ∣ = ∣ S ∣ − ∣ ∪ A i ‾ ∣ = ∣ S ∣ − ∣ ∩ A i ˉ ∣ |\cup A_i|=|S|-|\overline{\cup A_i}|=|S|-|\cap \bar{A_i}| Ai=SAi=SAiˉ
    然后带入上面容斥原理式子即可得到
  • 例子: 1 ∼ 1000 1\sim 1000 11000 之间不能被 5 、 6 、 8 5、6、8 568 整除的数的个数?
    解:设出 A i A_i Ai 表示 S S S 中具有 P i P_i Pi 性质的集合
    容易得到我们最终的答案为:
    ∣ ∩ A i ˉ ∣ |\cap \bar{A_i}| Aiˉ
    容易得到:
    ∣ A 1 ∣ = ⌊ 1000 5 ⌋ = 200   ∣ A 2 ∣ = ⌊ 1000 6 ⌋ = 166   ∣ A 3 ∣ = ⌊ 1000 8 ⌋ = 125   |A_1|=\lfloor \frac{1000}{5} \rfloor =200\\\ \\ |A_2|=\lfloor \frac{1000}{6} \rfloor =166\\\ \\ |A_3|=\lfloor \frac{1000}{8} \rfloor =125\\\ \\ A1=51000=200 A2=61000=166 A3=81000=125 
    集合 ∣ A i ∩ A j ∣ |A_i\cap A_j| AiAj 就是满足 P i , P j P_i,P_j Pi,Pj 的性质的数字,也就是数字被 l c m ( 数 i , 数 j ) lcm(数i,数j) lcm(i,j) 整除的数的个数
    ∣ A 1 ∩ A 2 ∣ = ⌊ 1000 l c m ( 5 , 6 ) ⌋ = 33   ∣ A 1 ∩ A 3 ∣ = ⌊ 1000 l c m ( 5 , 8 ) ⌋ = 25   ∣ A 2 ∩ A 3 ∣ = ⌊ 1000 l c m ( 6 , 8 ) ⌋ = 41 |A_1\cap A_2|=\lfloor \frac{1000}{lcm(5,6)} \rfloor =33\\\ \\ |A_1\cap A_3|=\lfloor \frac{1000}{lcm(5,8)} \rfloor =25\\\ \\ |A_2\cap A_3|=\lfloor \frac{1000}{lcm(6,8)} \rfloor =41 A1A2=lcm(5,6)1000=33 A1A3=lcm(5,8)1000=25 A2A3=lcm(6,8)1000=41
    最后还有
    ∣ A 1 ∩ A 2 ∩ A 3 ∣ = ⌊ 1000 l c m ( 5 , 6 , 8 ) ⌋ = 8   |A_1\cap A_2 \cap A_3|=\lfloor \frac{1000}{lcm(5,6,8)} \rfloor =8\\\ \\ A1A2A3=lcm(5,6,8)1000=8 
    根据容斥定理,得到:
    ∣ ∩ A i ˉ ∣ = ∣ S ∣ − ∑ ∣ A i ∣ + ∑ ∣ A i ∩ A j ∣ − ∑ ∣ A i ∩ A j ∩ A k ∣ = 600 |\cap \bar{A_i}|=|S|-\sum|A_i|+\sum|A_i \cap A_j| -\sum |A_i\cap A_j\cap A_k|=600 Aiˉ=SAi+AiAjAiAjAk=600
  • 后文记号:
    假设 ∩ i = 1 k A i \cap_{i=1}^k A_i i=1kAi 的大小仅依赖于 k k k 而不依赖于我们选了哪 k k k 个集合,因此就存在常数 α i \alpha_i αi 满足如下:
    α 0 = ∣ S ∣ α 1 = ∣ A 1 ∣ = ∣ A 2 ∣ = ⋯ = ∣ A m ∣ α 2 = ∣ A 1 ∩ A 2 ∣ = ∣ A 2 ∩ A 3 ∣ = ⋯ = ∣ A m − 1 ∩ A m ∣ ⋮ α m = ∣ A 1 ∩ A 2 ∩ ⋯ ∩ A m ∣ \begin{aligned} \alpha_0&=|S|\\ \alpha_1&=|A_1|=|A_2|=\cdots =|A_m|\\ \alpha_2&=|A_1\cap A_2|=|A_2\cap A_3|=\cdots =|A_{m-1}\cap A_m|\\ \vdots\\ \alpha_m&=|A_1\cap A_2\cap \cdots \cap A_m| \end{aligned} α0α1α2αm=S=A1=A2==Am=A1A2=A2A3==Am1Am=A1A2Am
    在这个情况下,容斥原理可以简化成:
    ∣ ∩ A i ˉ ∣ = ∑ i = 0 m ( − 1 ) i α i C m i |\cap \bar{A_i}|=\sum_{i=0}^m (-1)^i\alpha_i C_m^i Aiˉ=i=0m(1)iαiCmi
  • 例子: 0 ∼ 99999 0\sim 99999 099999 之间有多少个数字含有 2 , 5 , 8 2,5,8 2,5,8 至少一个的整数?
    解:我们可以把 S S S 看做是 0 ∼ 9 0\sim 9 09 的一个多重集合的 5 5 5 排列,每个数字的重数至少是 5 5 5
    P 1 , P 2 , P 3 P_1,P_2,P_3 P1,P2,P3 表示一个整数不包含 2 / 5 / 8 2/5/8 2/5/8 的性质
    我们希望得到的是 ∣ A 1 ˉ ∪ A 2 ˉ ∪ A 3 ˉ ∣ |\bar{A_1}\cup\bar{A_2}\cup\bar{A_3}| A1ˉA2ˉA3ˉ
    根据上文的记号,我们有:
    α 0 = 1 0 5 α 1 = 9 5 α 2 = 8 5 α 3 = 7 5 \alpha_0=10^5\\ \alpha_1=9^5\\ \alpha_2=8^5\\ \alpha_3=7^5\\ α0=105α1=95α2=85α3=75
    于是我们带入容斥定理,就能得到答案:
    C 3 0 1 0 5 − C 3 1 9 5 + C 3 2 8 5 − C 3 3 7 5 C_3^010^5-C_3^1 9^5+C_3^2 8^5 -C_3^3 7^5 C30105C3195+C3285C3375

带重复的组合

  • 之前,我们已经得到了,有 k k k 种对象,每种对象都有无限重数的多重集合的 r r r 组合的个数等于
    C k + r − 1 r C_{k+r-1}^r Ck+r1r
    在这里,我们利用上述公式与容斥原理的应用,给出寻找元素重数没有限制的多重集合的 r r r 组合的方法
  • 例子:确定多重集合 T = { 3 ⋅ a , 4 ⋅ b , 5 ⋅ c } T=\{3\cdot a,4\cdot b,5\cdot c\} T={3a,4b,5c} 10 10 10 组合的数目
    我们把容斥原理应用到多重集合 T ∗ = { ∞ ⋅ a , ∞ ⋅ b , ∞ ⋅ c } T^*=\{\infin \cdot a,\infin \cdot b,\infin \cdot c\} T={a,b,c}
    P 1 P_1 P1 T ∗ T^* T 10 10 10 组合中 a a a 出现多于 3 3 3 次的性质
    P 2 P_2 P2 T ∗ T^* T 10 10 10 组合中 b b b 出现多于 4 4 4 次的性质
    P 3 P_3 P3 T ∗ T^* T 10 10 10 组合中 c c c 出现多于 5 5 5 次的性质
    容易得到, T T T 10 10 10 组合就是 T ∗ T^* T 10 10 10 组合中,不满足上述三个性质的数目。
    A i A_i Ai T ∗ T^* T 10 10 10 组合中不具有性质 P i P_i Pi 组成的
    首先容易得到:
    ∣ S ∣ = C 10 + 3 − 1 10 = 66 |S|=C_{10+3-1}^{10}=66 S=C10+3110=66
    那么集合 A 1 A_1 A1 就是 a a a 至少出现了 4 4 4 次的 10 10 10 组合,我们去掉这 4 4 4 a a a ,就变成了一个 T ∗ T^* T 6 6 6 组合的方案数:
    ∣ A 1 ∣ = C 3 + 6 − 1 6 = 28 |A_1|=C_{3+6-1}^6=28 A1=C3+616=28
    类似的也能得到 ∣ A 2 ∣ , ∣ A 3 ∣ |A_2|,|A_3| A2,A3
    那么集合 ∣ A 1 ∩ A 2 ∣ |A_1\cap A_2| A1A2 就是 a a a 至少出现了 4 4 4 次, b b b 至少出现了 5 5 5 次 的 T ∗ T^* T 10 10 10 组合
    我们可以去掉 4 4 4 a a a 5 5 5 b b b ,可以得到是一个 T ∗ T^* T 1 1 1 组合,就是:
    ∣ A 1 ∩ A 2 ∣ = C 1 + 3 − 1 1 = 3 |A_1\cap A_2|=C_{1+3-1}^1 =3 A1A2=C1+311=3
    其他的都是类似的做法
    然后使用容斥原理就可以得到我们要的答案:
    ∣ A 1 ˉ ∩ A 2 ˉ ∩ A 3 ˉ ∣ = ∣ S ∣ − ∑ ∣ A i ∣ + ∑ ∣ A i ∩ A j ∣ − ∑ ∣ A i ∩ A j ∩ A k ∣ |\bar{A_1}\cap\bar{A_2}\cap\bar{A_3}|=|S|-\sum|A_i|+\sum |A_i\cap A_j|-\sum |A_i\cap A_j\cap A_k| A1ˉA2ˉA3ˉ=SAi+AiAjAiAjAk
  • 例子:满足
    { x 1 + x 2 + x 3 + x 4 = 18 1 ≤ x 1 ≤ 5 − 2 ≤ x 2 ≤ 4 0 ≤ x 3 ≤ 5 3 ≤ x 4 ≤ 9 x 1 , x 2 , x 3 , x 4 ∈ Z \begin{cases} x_1+x_2+x_3+x_4=18\\ 1\le x_1\le 5\\ -2\le x_2\le 4\\ 0\le x_3\le 5\\ 3\le x_4\le 9\\ x_1,x_2,x_3,x_4\in Z \end{cases} x1+x2+x3+x4=181x152x240x353x49x1,x2,x3,x4Z
    的解的个数?
    解:引入新变量 y 1 = x 1 − 1 y_1=x_1-1 y1=x11 等,把问题转化为:
    { y 1 + y 2 + y 3 + y 4 = 16 0 ≤ y 1 ≤ 4 0 ≤ y 2 ≤ 6 0 ≤ y 3 ≤ 5 0 ≤ y 4 ≤ 6 y 1 , y 2 , y 3 , y 4 ∈ Z \begin{cases} y_1+y_2+y_3+y_4=16\\ 0\le y_1\le 4\\ 0\le y_2\le 6\\ 0\le y_3\le 5\\ 0\le y_4\le 6\\ y_1,y_2,y_3,y_4\in Z \end{cases} y1+y2+y3+y4=160y140y260y350y46y1,y2,y3,y4Z
    的方案数
    然后方法类似于上面,直接容斥定理一波带走

错位排列

  • 因为对象的实际性质与讨论不相干,我们可以取 X X X 为集合 { 1 , 2 , 3 , ⋯   , n } \{1,2,3,\cdots,n\} {1,2,3,,n} ,其中每个整数的位置都由它们在序列 1 , 2 , ⋯   , n 1,2,\cdots,n 1,2,,n 中的位置确定。
    { 1 , 2 , 3 , ⋯   , n } \{1,2,3,\cdots,n\} {1,2,3,,n} 的一个错位排列是 { 1 , 2 , 3 , ⋯   , n } \{1,2,3,\cdots,n\} {1,2,3,,n} 的一个排列 i 1 , i 2 , ⋯   , i n i_1,i_2,\cdots,i_n i1,i2,,in ,其中满足
    ∀ k ∈ [ 1 , n ] , i k ≠ i \forall k\in[1,n],i_k\ne i k[1,n],ik=i
    D n D_n Dn 表示 { 1 , 2 , 3 , ⋯   , n } \{1,2,3,\cdots,n\} {1,2,3,,n} 的错位排列的数目
  • 定理:对于 n ≥ 1 n\ge 1 n1,我们有:
    D n = n ! ( 1 − 1 1 ! + 1 2 ! − 1 3 ! + ⋯ + ( − 1 ) n 1 n ! ) D_n=n!(1-\frac{1}{1!}+\frac{1}{2!}-\frac{1}{3!}+\cdots+(-1)^n\frac{1}{n!}) Dn=n!(11!1+2!13!1++(1)nn!1)
    证明:设 P j P_j Pj 性质表示 i j = j i_j=j ij=j 的时候的一个排列
    错位排列就是 ∣ ∩ A i ˉ ∣ |\cap \bar{A_i}| Aiˉ
    容易想到,
    ∣ A i ∣ = ( n − 1 ) ! ∣ A i ∩ A j ∣ = ( n − 2 ) ! ⋯ ∣ A i 1 ∩ A i 2 ∩ ⋯ ∩ A i k ∣ = ( n − k ) ! |A_i|= (n-1)!\\ |A_i\cap A_j|=(n-2)!\\ \cdots\\ |A_{i_1}\cap A_{i_2}\cap \cdots \cap A_{i_k}|=(n-k)! Ai=(n1)!AiAj=(n2)!Ai1Ai2Aik=(nk)!
    直接应用容斥定理,我们得到:
    ∣ ∩ A i ˉ ∣ = ∣ S ∣ − ∑ ∣ A i ∣ + ∑ ∣ A i ∩ A j ∣ + ⋯ = n ! − C n 1 ( n − 1 ) ! + C n 2 ( n − 2 ) ! + ⋯ = n ! − n ! 1 ! + n ! 2 ! − n ! 3 ! + ⋯ + ( − 1 ) n n ! n ! = n ! ( 1 − 1 1 ! + 1 2 ! − 1 1 ! + ⋯ + ( − 1 ) n 1 n ! ) \begin{aligned} |\cap \bar{A_i}|&=|S|-\sum|A_i|+\sum|A_i\cap A_j|+\cdots\\ &=n!-C_n^1 (n-1)!+C_n^2 (n-2)!+\cdots\\ &=n!-\frac{n!}{1!}+\frac{n!}{2!}-\frac{n!}{3!}+\cdots +(-1)^n\frac{n!}{n!}\\ &=n!(1-\frac{1}{1!}+\frac{1}{2!}-\frac{1}{1!}+\cdots +(-1)^n\frac{1}{n!}) \end{aligned} Aiˉ=SAi+AiAj+=n!Cn1(n1)!+Cn2(n2)!+=n!1!n!+2!n!3!n!++(1)nn!n!=n!(11!1+2!11!1++(1)nn!1)
  • 我们注意到: e − 1 ≈ D n n ! e^{-1}\approx \frac{D_n}{n!} e1n!Dn
    关系式: D n = ( n − 1 ) ( D n − 2 + D n − 1 ) D_n=(n-1)(D_{n-2}+D_{n-1}) Dn=(n1)(Dn2+Dn1)
    或者等价的 D n = n D n − 1 + ( − 1 ) n D_n=nD_{n-1}+(-1)^n Dn=nDn1+(1)n
    在下一章讨论求解常系数线性递推关系

带有禁止位置的排列

  • 例子:在 n × n n\times n n×n 的网格中,令 X i X_i Xi 表示第 i i i 行不能放的所有列的集合
    现在问你,放 n n n 个非攻击型车在能放的位置的方案数
    解:令 P i P_i Pi 表示第 i i i 行的车是属于 X i X_i Xi 的列上的性质
    我们最终求的就是:
    ∣ ∩ A i ˉ ∣ |\cap \bar{A_i}| Aiˉ
    容斥原理带入,我们需要求出:
    ∣ S ∣ = n ! ∣ A 1 ∣ = ∣ X 1 ∣ ( n − 1 ) ∣ A i ∣ = ∣ X i ∣ ( n − 1 ) ! |S|=n!\\ |A_1|=|X_1|(n-1)\\ |A_i|=|X_i|(n-1)! S=n!A1=X1(n1)Ai=Xi(n1)!
    r 1 = ∑ ∣ X i ∣ r_1=\sum |X_i| r1=Xi,我们可以得到:
    ∑ ∣ A i ∣ = r 1 ( n − 1 ) ! \sum |A_i|=r_1(n-1)! Ai=r1(n1)!
    r 2 r_2 r2 表示把两个非攻击型车放在禁止位置上的方案数,则:
    ∑ ∣ A i ∩ A j ∣ = r 2 ( n − 2 ) ! \sum|A_i\cap A_j|=r_2(n-2)! AiAj=r2(n2)!
    顺理推到 r k r_k rk 表示把 k k k 个非攻击型车放在禁止位置上的方案数,则:
    ∣ ∩ A i ˉ ∣ = ∑ i = 0 n ( − 1 ) i r i ( n − i ) ! |\cap \bar{A_i}|=\sum_{i=0}^n (-1)^i r_i (n-i)! Aiˉ=i=0n(1)iri(ni)!
    注意到,如果禁止格子特别多的话,那么 r k r_k rk 反而更难计算。

莫比乌斯反演

  • 容斥原理是莫比乌斯反演在有限偏序集上的一个实例
    跳过大量证明…
    具体的 A C M ACM ACM 竞赛内容可以看我之前的博客
  • 例子:计算 k k k 个不同元素的循环 n n n 排列的个数,每个元素都可以用任意多次

更新了自己的理解


  • 解:我们设 d d d 表示一个循环排列的周期(每个元素都绕中心旋转最少的次数让出现两次相同排列)
    一个循环 n n n 排列的周期 d d d 满足 1 ≤ d ≤ n 1\le d\le n 1dn d ∣ n d|n dn
    h ( n ) h(n) h(n) 是可能使用这 k k k 个元素的循环 n n n 排列的个数
    f ( d ) f(d) f(d) 等于长度为 n n n 且可能使用这 k k k 个元素的串的个数,每个串有一个循环周期 d d d,满足 d ∣ n d|n dn
    因此下式成立:
    h ( n ) = ∑ d ∣ n f ( d ) d h(n)=\sum_{d|n}\frac{f(d)}{d} h(n)=dndf(d)
    因为循环周期为 d d d,所以有 d d d 次重复计数。
    g ( n ) g(n) g(n),表示:
    g ( n ) = ∑ e ∣ n f ( e ) g(n)=\sum_{e|n}f(e) g(n)=enf(e)
    于是, g ( n ) g(n) g(n) 是长度为 n n n 的串的总数,因为一个串的循环周期一定满足 d ∣ n d|n dn ,且 g ( n ) = n k g(n)=n^k g(n)=nk
    根据经典的莫比乌斯反演,我们得到:
    f ( d ) = ∑ e ∣ d μ ( d e ) g ( e ) f(d)=\sum_{e|d}\mu(\frac{d}{e})g(e) f(d)=edμ(ed)g(e)
    在第一个式子中我们使用上述式子,得到:
    h ( n ) = ∑ d ∣ n f ( d ) d = ∑ d ∣ n 1 d ∑ e ∣ d μ ( d e ) k e = ∑ e ∣ n ( ∑ m ∣ n e 1 m e μ ( m ) ) k e = ∑ e ∣ n ( ∑ r ∣ n e r n μ ( n e r ) ) k e = ∑ e ∣ n φ ( n / e ) n k e = 1 n ∑ e ∣ n φ ( n e ) k e \begin{aligned} h(n)&=\sum_{d|n}\frac{f(d)}{d}\\ &=\sum_{d|n}\frac{1}{d} \sum_{e|d}\mu(\frac{d}{e})k^e\\ &=\sum_{e|n}(\sum_{m|\frac{n}{e}}\frac{1}{me}\mu(m))k^e\\ &=\sum_{e|n}(\sum_{r|\frac{n}{e}}\frac{r}{n}\mu(\frac{n}{er}))k^e\\ &=\sum_{e|n}\frac{\varphi(n/e)}{n}k^e\\ &=\frac{1}{n}\sum_{e|n}\varphi(\frac{n}{e})k^e \end{aligned} h(n)=dndf(d)=dnd1edμ(ed)ke=en(menme1μ(m))ke=en(rennrμ(ern))ke=ennφ(n/e)ke=n1enφ(en)ke
    注意到,第二行到第三行的转换:因为 d ∣ n d|n dn e ∣ d e|d ed ,所以相当于 d = m e d=me d=me ,从而 m e ∣ n me|n men,从而 m ∣ ( n / e ) m|(n/e) m(n/e)
    第三行到第四行的转换:令 n = r d = m e r n=rd=mer n=rd=mer,所以得到了 r = n m e r=\frac{n}{me} r=men,那自然 r ∣ n e r|\frac{n}{e} ren
    第四行到第五行的转换:因为我们有
    φ ( n ) = ∑ d ∣ n μ ( n d ) d \varphi(n)=\sum_{d|n}\mu(\frac{n}{d})d φ(n)=dnμ(dn)d
    注意到,这个问题就是珠子染色问题,但是我们没有使用 P o l y a Polya Polya 定理或者 B u r n S i d e BurnSide BurnSide 引理,因此化简会非常复杂
    更简单的化简方式这篇博客有:【算法讲27:Polya定理】BurnSide 引理 Polya定理 | 洛谷 P4980
  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值