zoukankan      html  css  js  c++  java
  • 普及数数(敏捷开发之alpha版本)

    组合恒等式:

    [inom{n}{m} = inom{n}{n-m} ag{1} ]

    [inom{n}{m} inom{m}{k} = inom{n}{k} inom{n-k}{m-k} ag{2} ]

    [sum_{i=0}^n inom{r}{i} inom{s}{n-i} = inom{r+s}{n} ag{范德蒙德卷积恒等式} ]

    [sum_{i=0}^n inom{i}{m} = inom{n+1}{m+1} ag{上指标求和一} ]

    [sum_{i=0}^m inom{n+i}{n} = inom{n+m+1}{m} ag{上指标求和二} ]

    [sum_{k=0}^m inom{n+k}{k} = inom{n+m+1}{m} ag{斜求和} ]

    [sum_{i=0}^n left(egin{matrix} n \ i end{matrix} ight) = 2^n ag{整行求和} ]

    [sum_{i=0}^n inom{n}{i}[2mid i] = sum_{i=0}^n inom{n}{i}[2 mid i] = 2^{n-1} ag{间隔求和, 要求 $n > 0$} ]

    [sum_{i=0}^n inom{n}{i} (-1)^i = sum_{i=0}^n inom{n}{i} (-1)^{i+1} = [n=0] ag{间隔共轭求和, 是二项式反演的基础} ]

    选几个组合意义不明显又不容易归纳的证明一下:

    对上指标求和一的证明:
    ([1,n+1]) 中选 (m+1) 个数, 将方案按照最大的数分类, 即可得到此式子。
    对上指标求和二的证明:

    [sum_{i=0}^m left(egin{matrix} n+i \ n end{matrix} ight) ]

    [sum_{i=0}^{n+m} left(egin{matrix} i \ n end{matrix} ight) - sum_{i=0}^{n-1} left(egin{matrix} i \ n end{matrix} ight) ]

    [=left(egin{matrix} n+m+1 \ n+1 end{matrix} ight) - left(egin{matrix} n \ n+1 end{matrix} ight) ]

    [=left(egin{matrix} n+m+1 \ m end{matrix} ight) ]

    这东西好像还有个因吹斯挺的组合意义, 但我困了, 今天上午再说(2020.8.6 0:12)


    T1
    手玩下可以发现, 最终局面之与各 (a_i) 的数量有关, 与它们的排列顺序无关。
    那么, 如果存在一个 (i) 使得 (ge i)(a_k) 的总数超过 (n-i+1), 就不合法。
    通过 (DP) 统计方案。
    (f[i][j]) 表示 (ge i) 的编号总共又放了 (j) 人, 答案就是 (f[1][n-m])
    转移方程如下:

    [f[i][j] = sum limits_{k = 0}^j f[i + 1][j - k] imes C_j^k Big(0 le j le n - i + 1 - (不归你安排的 ge i 的个数) Big) ]

    T2
    第一步处理是容斥。

    [ans = sum_{i=0}^n sum_{j=0}^n [i+j>0] (-1)^{i+j-1} C_n^iC_n^j f(i,j) ]

    其中, (f(i,j)) 表示至少有 (i)(j) 列 同色的方案数。
    1.当 (i>0)(j>0) 时, 这几行几列都是同色的, 此时方案数为 (3 * 3^{(n-i)*(n-j)})
    2.若 (i=0) 异或 (j=0), 方案数为 (3^{i+j} * 3^{n*(n-i-j)})。((i+j) 就是 (i) 异或 (j)
    后者计算方便且适于时限, 现在处理前者。

    [pre = sum_{i=1}^n sum_{j=1}^n (-1)^{i+j-1} C_n^i C_n^j 3*3^{(n-i)*(n-j)} ]

    (p = n-i)(q = n-j)

    [pre = 3sum_{p=0}^{n-1} sum_{q=0}^{n-1} (-1)^{2n-p-q-1} C_n^p C_n^q 3^{pq} ]

    由于 (2n) 是偶数, 所以 (2n-p-q-1)(2n - (2n-p-q-1)) 奇偶性相同, 故:

    [pre = 3sum_{i=0}^{n-1} sum_{j=0}^{n-1} (-1)^{i+j+1} C_n^i C_n^j 3^{ij} ]

    [= 3sum_{i=0}^{n-1} C_n^i (-1)^{i+1} sum_{j=0}^{n-1} C_n^j (-3^i)^j ]

    [= 3sum_{i=0}^{n-1} C_n^i (-1)^{i+1} [(1-3^i)^n - (-3^i)^n] ]

    这题就做完啦。

    T3
    T4
    T5

    经典问题:自然数幂之和

    (S_k(n) = sum_{i=1}^n i^k)
    命题:(S_k(n)) 是关于 (n)(k+1) 次多项式。
    证明:对 (k) 归纳。

    1. (k = 0)(S_0(n) = n),是关于 (n)(1) 次多项式。
    2. 考虑一个十分奇妙的构造:

      [sum_{i=1}^n [(i+1)^{d+1} - i^{d+1}] = sum_{i=1}^n sum_{j=0}^d left(egin{matrix}d+1\jend{matrix} ight) i^j ]

    [(n+1)^{d+1} - 1 = sum_{j=0}^d left(egin{matrix}d+1\jend{matrix} ight) sum_{i=1}^ni^j = sum_{j=0}^d left(egin{matrix}d+1\jend{matrix} ight) S_j(n) ]

    [left(egin{matrix}d+1\dend{matrix} ight)S_d(n) = (n+1)^{d+1} - sum_{j=0}^{d-1} left(egin{matrix}d+1\jend{matrix} ight) S_j(n) - 1 ]

    最后这个式子就明显表明了:如果对于 (forall kle d-1)(S_k(n)) 是关于 (n)(k+1) 多项式, 那么 (S_d(n)) 就是关于 (n)(d+1) 次多项式。

    对了, 依照上面的式子, 似乎得到了一个递推式:

    [S_d(n) = frac{1}{d+1} Big[ (n+1)^{d+1} - sum_{j=0}^{d-1} left(egin{matrix}d+1\jend{matrix} ight) S_j(n) - 1 Big] ]

    拉格朗日插值

    众所周知, (k+1) 个点值 ((x_{iin[0,k]},y_i)) 唯一决定一个 (k) 次多项式(这里多项式都是实系数的)。
    根据拉格朗日插值, 这个多项式是:

    [F(x) = sum_{i=0}^k y_i prod_{i eq j} frac{x-x_j}{x_i-x_j} ]

    证明:
    只要对于 (forall i in [0,k])(F(x_i) = y_i), 那么 (F(x)) 就是那个唯一的多项式。
    依据这个思路, 将 (x_p) 代入 (F(x))

    [F(x_p) = sum_{i=0}^k y_i prod_{i eq j} frac{x_p-x_j}{x_i-x_j} ]

    [= sum_{i=0}^k y_i prod_{i eq j} frac{x_p-x_j}{x_i-x_j} [i=p] + sum_{i=0}^k y_i prod_{i eq j} frac{x_p-x_j}{x_i-x_j} [i eq p] ]

    [= y_p prod_{p eq j} frac{x_p-x_j}{x_p-x_j} + sum_{i=0}^k y_i prod_{i eq j} frac{x_p-x_j}{x_i-x_j} [i eq p] ]

    [= y_p + 0 ]

    所以拉格朗日插值公式是正确的。

    用拉插解 (S_k(n))

    由于 (S_k(n))(k+1) 次多项式, 所以只要求出 (k+2) 个点值, 就可以拉插了。
    (x in [0,k+1])(k+2) 个点值:
    不赘述了, 很好设计算法, 有对模数的要求。


    [egin{Bmatrix} n \ m end{Bmatrix} ]

    [inom{n}{m} ]

    [egin{bmatrix} n \ m end{bmatrix} ]

    斯特林数与阶幂

    第一类斯特林数 (egin{bmatrix} n \ m end{bmatrix}) 表示有 (m) 个循环的 (n) 阶置换的数量。
    递推式为 (egin{bmatrix} n \ m end{bmatrix} = egin{bmatrix} n-1 \ m-1 end{bmatrix} + (n-1)egin{bmatrix} n-1 \ m end{bmatrix})
    第二类斯特林数 (egin{Bmatrix} n \ m end{Bmatrix}) 表示将 (n) 阶集合划分成 (m) 个集合的方案数。
    递推式为 (egin{Bmatrix} n \ m end{Bmatrix} = egin{Bmatrix} n-1 \ m-1 end{Bmatrix} + megin{Bmatrix} n-1 \ m end{Bmatrix})
    它们的边界条件都是 (egin{bmatrix} 0 \ 0 end{bmatrix} = egin{Bmatrix} 0 \ 0 end{Bmatrix} = 1)

    下降幂 (n^{underline m} = n(n-1)(n-2)cdots (n-m+1))
    上升幂 (n^{overline m} = n(n+1)(n+2)cdots (n+m-1))


    定理1

    [n^m = sum_{i=0}^m egin{Bmatrix} m \ i end{Bmatrix} n^{underline i} ag{普通幂转下降幂} ]

    证明:
    通过组合意义考虑, (n^m) 表示将 (m) 个不同的球放到 (n) 个盒子里的方案数, 通过将这些方案按照 “有几个盒子非空” 分类, 得到:

    [n^m = sum_{i=0}^m inom{n}{i} egin{Bmatrix} m \ i end{Bmatrix} i! = sum_{i=0}^m egin{Bmatrix} m \ i end{Bmatrix} n^{underline i} ]

    定理2

    [n^{overline m} = sum_{i=0}^m egin{bmatrix} m \ i end{bmatrix} n^i ag{上升幂转普通幂} ]

    证明:
    用归纳法证明比较优美。(合并的快感)

    1. (m=1) 时, 显然成立。

    [n^{overline m} = (n+m-1) n^{overline{m-1}} = (n+m-1) sum_{i=0}^{m-1} egin{bmatrix} m-1 \ i end{bmatrix} n^i ]

    [= sum_{i=1}^{m} egin{bmatrix} m-1 \ i-1 end{bmatrix} n^i + (m-1)sum_{i=0}^{m-1} egin{bmatrix} m-1 \ i end{bmatrix} n^i ]

    再由于 (egin{bmatrix} n \ -1 end{bmatrix} = egin{bmatrix} n \ n+1 end{bmatrix} = 0) 之类的性质, 定理2 就得证了。

    斯特林反演

    啊这 ( ext{vfleaking}) 的炫酷反演魔术确实是反演之鉴。

    一个 xio 引理:

    [x^{underline n} = (-1)^n (-x)^{overline n}, ;;; x^{overline n} = (-1)^n (-x)^{underline n} ]

    反演的关键

    [sum_{k=m}^n (-1)^{n-k} egin{bmatrix} n \ k end{bmatrix} egin{Bmatrix} k \ m end{Bmatrix} = [m=n] ag{1} ]

    [sum_{k=m}^n (-1)^{n-k} egin{Bmatrix} n \ k end{Bmatrix} egin{bmatrix} k \ m end{bmatrix} = [m=n] ag{2} ]

    ((2)) 的证明:

    [n^m = sum_{i=0}^m egin{Bmatrix} m \ i end{Bmatrix} n^{underline i} = sum_{i=0}^m egin{Bmatrix} m \ i end{Bmatrix} (-1)^i (-n)^{overline i} ]

    [sum_{i=0}^m egin{Bmatrix} m \ i end{Bmatrix} (-1)^i sum_{j=0}^i egin{bmatrix} i \ j end{bmatrix} (-n)^j = sum_{j=0}^m n^j sum_{i=j}^m egin{Bmatrix} m \ i end{Bmatrix} egin{bmatrix} i \ j end{bmatrix} (-1)^{i+j} ]

    显然等式左右两边各次幂 (n) 的系数都应分别相等, 故

    [sum_{i=j}^m egin{Bmatrix} m \ i end{Bmatrix} egin{bmatrix} i \ j end{bmatrix} (-1)^{i+j} = [j=m] ]

    一些形式和等效表达式上的区别不需要在意, ((2)) 就得证了。

    ((1)) 的证明:

    [(-1)^m (-n)^{underline m} = n^{overline m} = sum_{i=0}^m egin{bmatrix} m \ i end{bmatrix} n^i ]

    [(-n)^{underline m} = sum_{i=0}^m egin{bmatrix} m \ i end{bmatrix} (-1)^{m-i} (-n)^i ]

    [n^{underline m} = sum_{i=0}^m egin{bmatrix} m \ i end{bmatrix} (-1)^{m-i} n^i = sum_{i=0}^m egin{bmatrix} m \ i end{bmatrix} (-1)^{m-i} sum_{j=0}^i egin{Bmatrix} i \ j end{Bmatrix} n^{underline j} ]

    [= sum_{j=0}^m n^{underline j} sum_{i=j}^m egin{bmatrix} m \ i end{bmatrix} egin{Bmatrix} i \ j end{Bmatrix} (-1)^{m-i} ]

    我猜下降幂多项式和普通多项式性质差不多, 所以 ((1)) 就得证了 (大概)

    斯特 rin 反演

    [f(n) = sum_{k=0}^n egin{Bmatrix} n \ k end{Bmatrix} g(k) Leftarrow=Rightarrow g(n) = sum_{k=0}^n egin{bmatrix} n \ k end{bmatrix} (-1)^{n-k} f(k) ]

    证明:
    一:从右推左
    已知 (g(n) = sum_{k=0}^n egin{bmatrix} n \ k end{bmatrix} (-1)^{n-k} f(k)), 那么

    [g(n) = sum_{m=0}^n [m=n] g(m) = sum_{m=0}^n sum_{k=m}^n (-1)^{n-k} egin{bmatrix} n \ k end{bmatrix} egin{Bmatrix} k \ m end{Bmatrix} g(m) = sum_{k=0}^n egin{bmatrix} n \ k end{bmatrix}(-1)^{n-k} sum_{m=0}^k egin{Bmatrix} k \ m end{Bmatrix} g(m) = sum_{k=0}^n egin{bmatrix} n \ k end{bmatrix} (-1)^{n-k} f(k) ]

    推完啦!

    二:从左推右
    草我不会证, 按照上面的方法推出来是个很怪的形式, 日后我会寻找证明的方法。

    斯特林数解 (S_k(n))

    [S_k(n) = frac{(n+1)^{underline{k+1}}}{k+1} - sum_{i=0}^{k-1}(-1)^{k-i} · egin{bmatrix} k \ i end{bmatrix} · S_i(n) ]

    证明:

    [n^m = sum_{k=0}^m egin{Bmatrix} m \ k end{Bmatrix} n^{underline k} Leftarrow=Rightarrow n^{underline m} = sum_{k=0}^m egin{bmatrix} m \ k end{bmatrix} (-1)^{m-k} n^k ]

    [n^m = n^{underline m} - sum_{k=0}^{m-1} egin{bmatrix} m \ k end{bmatrix} (-1)^{m-k} n^k ]

    [S_m(n) = sum_{i=1}^n i^m = sum_{i=1}^n egin{Bmatrix} i^{underline m} - sum_{k=0}^{m-1} egin{bmatrix} m \ k end{bmatrix} (-1)^{m-k} i^k end{Bmatrix} ]

    然后就得证了。(关于 (sum_{k=0}^{n-1} k^{underline m} = frac{n^{underline{m+1}}}{m+1}) 这件事, 要用到有限微积分 owo, 具体数学应该是有介绍的)
    算法不赘述了, 虽然慢, 但是对模数没有要求。


    [left(egin{matrix} n \ m end{matrix} ight) ]

    虚假的容斥原理

    (A_i) 为集合, (U) 为全集, (overline{A})(A) 关于 (U) 的补集。

    [igg|igcup_{i=1}^n A_i igg| = sum_{k=1}^n(-1)^{k+1} Bigg( sum_{1le i_1 < cdots < i_k le n} |A_{i_1} cap cdots cap A_{i_k}| Bigg) ag{1} ]

    [igg|igcap_{i=1}^n A_i igg| = |U| - igg|igcup_{i=1}^n overline{A_i} igg| ag{2} ]

    证明 ((1))
    考虑一个处于 (igcup_{i=1}^n A_i) 中的元素 (x), 它属于 (m) 个集合 (T_1, cdots, T_m), 那么它对于右边式子的贡献为:

    [|{T_i}| - |{T_i cap T_j | i<j}| + cdots + (-1)^{m+1}|{ T_1 cap cdots cap T_m }| ]

    [= left(egin{matrix} m \ 1 end{matrix} ight) - left(egin{matrix} m \ 2 end{matrix} ight) + cdots + (-1)^{m+1}left(egin{matrix} m \ m end{matrix} ight) ]

    [= Bigg( -left(egin{matrix} m \ 0 end{matrix} ight) + left(egin{matrix} m \ 1 end{matrix} ight) - left(egin{matrix} m \ 2 end{matrix} ight) + cdots + (-1)^{m+1}left(egin{matrix} m \ m end{matrix} ight) Bigg) + left(egin{matrix} m \ 0 end{matrix} ight) ]

    [= [m=0] + 1 = 1 ]

    然而显然不能让 (m) 等于 (0) 啊(笑
    于是这个式子就得证了。

    证明 ((2))
    随便口胡下感性理解吧, 严格证明以后再补上。

    真实的容斥原理

    吹毛断发,削铁如泥。 (话说 ([n]) 是不是就是 (2^{{1,cdots,n}}) 啊)

    [Bigg| igcup_{i=1}^n A_i Bigg| = sum_{Ssubseteq[n], S eq emptyset} (-1)^{|S|+1} Bigg| igcap_{i in S} A_i Bigg| ag{1}]

    [Bigg| igcap_{i=1}^n A_i Bigg| = sum_{Ssubseteq[n], S eq emptyset} (-1)^{|S|+1} Bigg| igcup_{i in S} A_i Bigg| ag{2} ]

    [Bigg| igcap_{i=1}^n A_i Bigg| = sum_{Ssubseteq[n]} (-1)^{|S|} Bigg| igcap_{i in S} overline{A_i} Bigg| ag{3} ]

    [igg|igcap_{i=1}^n A_i igg| = |U| - igg|igcup_{i=1}^n overline{A_i} igg| ag{4} ]

    ((2))((3)) 本质是一样的:

    [sum_{Ssubseteq[n]} (-1)^{|S|} Bigg| igcap_{i in S} overline{A_i} Bigg| = sum_{Ssubseteq[n]} (-1)^{|S|} egin{Bmatrix} |U|- Bigg| igcup_{i in S} A_i Bigg| end{Bmatrix} ]

    [= |U|sum_{Ssubseteq[n]} (-1)^{|S|} + sum_{Ssubseteq[n]} (-1)^{|S|+1} Bigg| igcup_{i in S} A_i Bigg| ]

    其中,

    [|U|sum_{Ssubseteq[n]} (-1)^{|S|} = |U|sum_{i=0}^n inom{n}{i} (-1)^i = |U|[n=1] ]

    经典经典容斥问题

    不定方程非负整数解计数

    不定方程 (x_1 + cdots + x_k = m ;; (m ge 0)) 的非负整数解的个数为 (inom{m+k-1}{k-1}), 由插板法得到。
    这个方程再加上 (k) 个限制条件 (x_i le b_i ;;(b_i ge 0)), 求非负整数解的数量,解法如下:
    按照 (Bigg| igcap_{i=1}^n A_i Bigg| = sum_{Ssubseteq[n]} (-1)^{|S|} Bigg| igcap_{i in S} overline{A_i} Bigg|) 来转化条件, 就把上界限制改成了下界限制!
    那么, 不定方程 (x_1 + cdots + x_k = m ;; (m ge 0)) 加上 (k) 个限制条件 (x_i ge b_i + 1 ;;(b_i ge 0)), 求非负整数解的个数, 解法如下:
    在方程右边减去下界和 (sum(b_i+1)), 方程的解就是原来带下界方程的解。

    错排计数

    递推比较爽, 但是写容斥式子更爽。
    还是按照 ((3)) 来写:

    [D_n = sum_{i=0}^n (-1)^i inom{n}{i} (n-i)! = n! sum_{i=0}^n frac{(-1)^i}{i!} ]

    凑容斥系数的方法

    用于将各种形如 (Bigg| ext{balabala}_{i=1}^n |A_i| Bigg|) 的式子转化成 (sum_{S in [n], S eq emptyset} g(|S|) Big| igcap_{i in S} A_i Big|) 的形式。

    假设恰好被 (x) 个集合覆盖的元素对 (Bigg| ext{balabala}_{i=1}^n |A_i| Bigg|) 的贡献为 (f(x)), 大小为 (x) 的集合的容斥系数为 (g(x)), 那么

    [sum_{T subseteq S^{'}, T eq emptyset} g(|T|) = f(|S^{'}|) ]

    其中, (S^{'})(S) 的子集, (S^{'}) 中的下标 (i) 都满足某元素被 (A_i) 覆盖。

    (|S^{'}| = m), 上式化简为:

    [sum_{i=0}^m inom{m}{i} g(i) = f(m) ]

    反演,

    [g(m) = sum_{i=0}^m (-1)^{m-i} inom{m}{i} f(i) ]

    例子:[COCI2009-2010#6] XOR
    设第 (i) 个三角形为 (A_i), 要求的就是 (| ext{Xor}_{i=1}^n A_i |)
    考虑容斥, 转为 (sum_{S in [n], S eq emptyset} g(|S|) Big| igcap_{i in S} A_i Big|)
    (g(m) = sum_{i=0}^m (-1)^{m-i} inom{m}{i} f(i)), 其中 (f(i) = [2 mid i])
    所以

    [g(m) = sum_{i=0}^m (-1)^{m-i} inom{m}{i} [2 mid i] ]

    [= (-1)^{m+1} sum_{i=0}^m (-1)^{i+1} inom{m}{i} [2 mid i] = (-1)^{m+1} 2^{m-1} ag{$m ge 0$} ]

    所以

    [| ext{Xor}_{i=1}^n A_i | = sum_{S in [n], S eq emptyset} (-1)^{|S|+1}2^{|S|-1} Big| igcap_{i in S} A_i Big| ]

    问题转化为求若干三角形的交。
    由于两个三角形交起来仍然是三角形,交运算有交换律和结合律, 所以现在的问题是如何求两个三角形的交。

    #include<bits/stdc++.h>
    using namespace std;
    const int N = 13;
    
    int n, x[N], y[N], r[N];
    
    void meg(int &x1,int &y1,int &r1,int x2,int y2,int r2) {
    // 	if(x1>x2) {
    // 		swap(x1,x2); swap(y1,y2); swap(r1,r2);
    // 	}
    // 	if(y2>=y1) {
    // 		r1 = max(0, min(y1+r1-y2-(x2-x1), r1));
    // 		x1 = x2, y1 = y2;
    // 	} else {
    // 		r1 = max(0, min(x2+r2-x1,y1+r1-y2));
    // 		y1 = y2;
    // 	}
        r1 = min(x1+y1+r1, x2+y2+r2) - max(x1,x2) - max(y1,y2);
        r1 = max(r1, 0);
        x1 = max(x1,x2);
        y1 = max(y1,y2);
    	return;
    }
    
    double calc(int S) {
    		int X=0, Y=0, R=0;
    		for(int i=0; i<n; ++i)if((S>>i)&1) {X=x[i+1], Y=y[i+1], R=r[i+1]; break;}
    			S -= S&(-S);
    			for(int i=0; i<n; ++i)if((S>>i)&1) meg(X,Y,R, x[i+1], y[i+1], r[i+1]);
    				return (double)R*(double)R / (double)2;
    }
    
    int main() {
    	
    	cin >> n;
    	for(int i=1; i<=n; ++i) {
    		scanf("%d%d%d", &x[i],&y[i],&r[i]);
    	}
    	double ans = 0;
    	for(int S=1; S<(1<<n); ++S) {
    		int tmp = 0, SS = S;
    			while(SS) ++tmp, SS-=SS&(-SS);
    		double nowans = 1<<(tmp-1);
    		if(!(tmp&1)) nowans = -nowans;
    			nowans *= calc(S);
    				ans += nowans;
    	}
    	printf("%.1lf", ans);
    	return 0;
    }
    

    min-max 容斥(最值反演owo)

    定义 (min(S) = min_{a_i in S} a_i)(max(S) = max_{a_i in S} a_i)
    ( ext{min-max})容斥 的形式是这样的:

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

    证明:
    (S) 内元素 (a_i) 降序排序, 此时 (a_k) 就是 (S) 内第 (k) 大的元素。
    左边 (= a_1)
    对于右边:
    使得 (min(T) = a_1)(T) 只有 ({ a_1 }) 这一种, 贡献为 ((-1)^2 a_1 = a_1)
    对于 (min(T) = a_k ; ; (k > 1))(T), 首先它必须有 (a_k), 其次 (a_p (p>k)) 不能有, 所以这样的 (T) 共有 (2^{k-1}) 种选法, 通过人类智慧得知(归纳法, 不详细证了。) ,这 (2^{k-1}) 种选法之中, 其中一半的集合大小是奇数,另一半是偶数, 结合 min-max容斥的式子知, 这样的 (T) 贡献为 (0)

    所以 min-max容斥的式子是正确的。

  • 相关阅读:
    联想 Vibe Shot(Z90-3) 免recovery 获取ROOT权限 救砖 VIBEUI V3.1_1625
    联想 Z5S(L78071)免解锁BL 免rec 保留数据 ROOT Magisk Xposed 救砖 ZUI 10.5.370
    联想 Z5(L78011) 免解锁BL 免rec 保留数据 ROOT Magisk Xposed 救砖 ZUI 10.5.254
    联想 S5 Pro(L78041)免解锁BL 免rec 保留数据 ROOT Magisk Xposed 救砖 ZUI 5.0.123
    第二阶段 冲刺八
    第二阶段 冲刺七
    第二阶段 冲刺六
    第二阶段 冲刺五
    代码大全阅读笔记03
    学习进度十二
  • 原文地址:https://www.cnblogs.com/tztqwq/p/13374542.html
Copyright © 2011-2022 走看看