2024.6 做题记录

395. CF717A Festival Organization & P5320 [BJOI2019] 勘破神机

就是要计算:

\[\sum\limits_{i = l}^r \binom{f_i}{k} \]

其中 \(f_i\) 为斐波那契数列的第 \(i\) 项。

用第一类斯特林数把下降幂拆成普通幂后,利用 \(f_i\) 的通项公式计算即可。

396. square869120Contest #3 G Sum of Fibonacci Sequence

特判 \(n = 1\)。将 \(n, m\) 都减 \(1\),答案即为

\[[x^m]\frac{1}{(1 - x - x^2)(1 - x)^n} \]

若能把这个分式拆成 \(\frac{A(x)}{(1 - x)^n} + \frac{B(x)}{1 - x - x^2}\) 的形式,其中 \(\deg A(x) \le n - 1, \deg B(x) \le 1\),那么答案就是好算的。

先考虑怎么求出一组合法的 \(A(x), B(x)\),满足 \(A(x)(1 - x - x^2) + B(x)(1 - x)^n = 1\)。因为 \(\deg B(x) \le 1\) 所以它比较好求,所以先求 \(B(x)\)。前面那个式子可以看成是对所有 \(x\) 都成立,那么我们代入 \(1 - x - x^2\) 的两个根 \(x_1 = \frac{-1 - \sqrt 5}{2}\)\(x_2 = \frac{-1 + \sqrt 5}{2}\),得到:

\[\begin{cases} B(x_1)(1 - x_1)^n = 1 \\ B(x_2)(1 - x_2)^n = 1 \end{cases} \]

因为 \(\deg B(x) \le 1\) 所以这样可以直接解出 \(B(x)\)

注意我们现在讨论的都是实数,实现时可以把每个数都用 \(a + b \sqrt 5\) 表示,封装一个结构体即可。

解出 \(B(x)\) 后可以解 \(A(x)\)

\[A(x) = \frac{1 - B(x)(1 - x)^n}{1 - x - x^2} \]

因为能除尽,所以可以直接暴力大除法。

那么此时答案即为:

\[[x^m] \frac{A(x)}{(1 - x)^n} + [x^m] \frac{B(x)}{1 - x - x^2} \]

先看左半部分:

\[[x^m] \frac{A(x)}{(1 - x)^n} = \sum\limits_{i \ge 0} [x^i] A(x) \times [x^{m - i}] \frac{1}{(1 - x)^n} = \sum\limits_{i \ge 0} [x^i] A(x) \times \binom{n + m - i - 1}{n - 1} \]

组合数可以 \(O(n)\) 预处理前缀积和后缀积后 \(O(1)\) 计算。

再看右半部分(\(f_m\) 为斐波那契数列的第 \(m\) 项):

\[[x^m] \frac{B(x)}{1 - x - x^2} = [x^m] \frac{ax + b}{1 - x - x^2} = af_m + bf_{m + 1} \]

\(f_n\) 可以直接套通项公式计算:

\[f_n = \frac{\sqrt 5}{5} (\frac{1 + \sqrt 5}{2})^n - \frac{\sqrt 5}{5} (\frac{1 - \sqrt 5}{2})^n \]

那么这题就做完了。时间复杂度 \(O(n + \log m)\)

397. BZOJ4671 异或图

\(f_i\) 为钦定 \(i\) 个集合两两无边的方案数(即钦定有 \(i\) 个连通块的方案数),设 \(g_i\) 为恰好有 \(i\) 个连通块的方案数,则:

\[f_i = \sum\limits_{j = i}^n {j \brace i} g_j \]

根据斯特林反演,得:

\[g_i = \sum\limits_{j = i}^n (-1)^{j - i} \begin{bmatrix} j \\ i \end{bmatrix} f_j \]

所以:

\[ans = g_1 = \sum\limits_{i = 1}^n (-1)^{i - 1} (i - 1)! f_i \]

问题转化为求 \(f_i\)

发现 \(n\) 很小,考虑直接枚举哪些点被分到了一个集合(这里的枚举量是贝尔数级别的),设有 \(m\) 个集合。那么每一条两端所属集合不同的边都必须被选偶数次。

设编号为 \(b_{i, 1}, b_{i, 2}, \ldots, b_{i, k}\) 的图包含第 \(i\) 条两端所属集合不同的边,\(a_i\) 为第 \(i\) 个图是否在子集中,那么会得到一个形如 \(\forall i, a_{b_{i, 1}} \oplus a_{b_{i, 2}} \oplus \cdots \oplus a_{b_{i, k}} = 0\) 的异或方程组,高斯消元求其自由元个数 \(c\),那么这种划分方案对 \(f_m\)\(2^c\) 的贡献。

总时间复杂度 \(O(B_n n^2 (s + n^2))\)

398. P5748 集合划分计数

显然每个盒子的 EGF 为 \(F(x) = e^x - 1\)。答案的 EGF 为 \(G(x) = e^{F(x)}\)

399. QOJ1285 Stirling Number

因为 \(x^{\overline p} \equiv x^p - x \pmod p\),所以设 \(n = pq + r\),其中 \(r \in [0, p - 1]\),则有:

\[\begin{aligned} x^{\overline n} & = (\prod\limits_{i = 0}^{q - 1} (x + ip)^{\overline p}) (x + pq)^{\overline r} \\ & = (x^p - x)^q (x + pq)^{\overline r} \\ & = (x^p - x)^q x^{\overline r} \\ & = x^q (x^{p - 1} - 1)^q x^{\overline r} \end{aligned} \]

\(k - q = a(p - 1) + b\),其中 \(b \in [0, p - 2]\),那么:

\[\begin{aligned} \begin{bmatrix} n \\ k \end{bmatrix} & = [x^k] x^{\overline n} \\ & = [x^k] x^q (x^{p - 1} - 1)^q x^{\overline r} \\ & = [x^{k - q}] (x^{p - 1} - 1)^q x^{\overline r} \\ & = (-1)^{q - a} \binom{q}{a} \begin{bmatrix} r \\ b \end{bmatrix} \end{aligned} \]

\(m - q = k(p - 1) + t\),其中 \(t \in [0, p - 2]\),那么:

\[\sum\limits_{i = 0}^m \begin{bmatrix} n \\ i \end{bmatrix} = \sum\limits_{i = 0}^t \begin{bmatrix} r \\ i \end{bmatrix} \sum\limits_{j = 0}^k (-1)^{q - j} \binom{q}{j} + \sum\limits_{i = t + 1}^r \begin{bmatrix} r \\ i \end{bmatrix} \sum\limits_{j = 0}^{k - 1} (-1)^{q - j} \binom{q}{j} \]

又因为:

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

这个式子由 \(\binom{n}{m} = \binom{n - 1}{m} + \binom{n - 1}{m - 1}\) 易证。

那么:

\[\begin{aligned} \sum\limits_{i = 0}^m \begin{bmatrix} n \\ i \end{bmatrix} & = \sum\limits_{i = 0}^t \begin{bmatrix} r \\ i \end{bmatrix} (-1)^{q - k} \binom{q - 1}{k} + \sum\limits_{i = t + 1}^r \begin{bmatrix} r \\ i \end{bmatrix} (-1)^{q - k + 1} \binom{q - 1}{k - 1} \\ & = \sum\limits_{i = 0}^t \begin{bmatrix} r \\ i \end{bmatrix} (-1)^{q - k} \binom{q - 1}{k} + \sum\limits_{i = 0}^r \begin{bmatrix} r \\ i \end{bmatrix} (-1)^{q - k + 1} \binom{q - 1}{k - 1} + \sum\limits_{i = 0}^t \begin{bmatrix} r \\ i \end{bmatrix} (-1)^{q - k} \binom{q - 1}{k - 1} \\ & = (-1)^{q - k} (\binom{q}{k} \sum\limits_{i = 0}^t \begin{bmatrix} r \\ i \end{bmatrix} - \binom{q - 1}{k - 1} \sum\limits_{i = 0}^r \begin{bmatrix} r \\ i \end{bmatrix}) \\ & = (-1)^{q - k} (\binom{q}{k} \sum\limits_{i = 0}^t \begin{bmatrix} r \\ i \end{bmatrix} - \binom{q - 1}{k - 1} r!) \end{aligned} \]

那么剩下的问题是给定 \(r, t\),求 \(x^{\overline r}\) 的前 \(t\) 次项系数和。

考虑一个多项式 \(f(x)\),设模数的原根为 \(g\),若我们求出 \(f(g^0), f(g^1), \ldots, f(g^{p - 2})\),那么我们可以线性地求出 \(f(x)\) 的前 \(t\) 次项系数和。

具体地,考虑 \(\sum\limits_{i = 0}^{p - 2} g^{ki}\),只有当 \(k = 0\) 时这个式子等于 \(p - 1 \equiv -1 \pmod p\),当 \(k \ne 0\) 时由等比数列求和公式可知它等于 \(0\)

那么考虑若要求 \(f(x)\) 的第 \(j\) 次项,\(-\sum\limits_{i = 0}^{p - 2} g^{-ij} f(g^i)\) 即为答案。

所以:

\[\begin{aligned} \sum\limits_{i = 0}^t [x^i] x^{\overline r} & = \sum\limits_{i = 0}^t \sum\limits_{j = 0}^{p - 2} g^{-ij} f(g^j) \\ & = \sum\limits_{j = 0}^{p - 2} f(g^j) (\sum\limits_{i = 0}^t g^{-ij}) \end{aligned} \]

\(f(g^i)\) 可以预处理阶乘及其逆元然后 \(O(1)\) 单次计算,后面那个 \(\sum\limits_{i = 0}^t g^{-ij}\) 可以用等比数列求和公式然后预处理原根的次方做到 \(O(1)\) 单次计算。

总时间复杂度 \(O(p)\)

400. P4916 [MtOI2018] 魔力环

考虑 Burnside 定理,把旋转同构去掉。

然后因为染色要考虑标号,所以先断环为链,考虑把 \(m\) 个染色的球塞到 \(n - m\) 个球的空隙中,要求第一个空隙和最后一个空隙的球数量的和不超过 \(k\)

可以先枚举第一个空隙和最后一个空隙的球数量的和,然后剩下变成了一个经典的有上界的插板问题,容斥即可。

时间复杂度是因数和。

401. P5824 十二重计数法

只考虑第 \(10\) 问(第 \(12\) 问可以 \(n \gets n - m\) 转化为第 \(10\) 问,其他问是平凡的)。

画出柱状图,然后旋转 \(90°\),变成了一个体积为 \(1 \sim m\) 的完全背包问题。

答案即为:

\[[x^n] \prod\limits_{i = 1}^m \frac{1}{1 - x^i} \]

考虑取 \(\ln\),众所周知 \(\ln(\frac{1}{1 - x^i}) = \sum\limits_{j \ge 1} \frac{x^{ij}}{j}\),然后再 \(\exp\) 回去即可。

402. CF1528F AmShZ Farm

先来考虑 \(a\) 的计数。

考虑序列转等概率环模型(CF838D Airplane Arrangements)。即考虑一个长度为 \(n + 1\) 的环,有 \(n\) 个人,每个人有一个目标位置 \(a_i\)\(1 \le a_i \le n + 1\)),每个人会走到目标位置后第一个没被占用的位置。最后 \(n + 1\) 被占用说明不合法。

发现每个位置等价,所以答案就是 \(\frac{(n + 1)^n}{n + 1} = (n + 1)^{n - 1}\)

一个 \(a_i\) 对最终答案的贡献是 \(\sum\limits_{i = 1}^{n + 1} c_i^k\),其中 \(c_i\)\(i\)\(a\) 中的出现次数。

因为每个位置等价,所以每个位置的 \(\sum\limits_a c_i^k\) 都相等,所以我们只用考虑算其中一个,最后乘 \(n + 1\),又因为有 \(\frac{1}{n + 1}\) 的概率使得 \(a\) 合法,所以又要乘一个 \(\frac{1}{n + 1}\),两者抵消了。

所以最后答案就是:

\[\sum\limits_{i = 0}^n \binom{n}{i} n^{n - i} i^k \]

但是直接计算是 \(O(n)\) 的。经过一些 dirty work 的推式子(普通幂转下降幂)可得答案为:

\[\sum\limits_{j = 0}^k {k \brace j} n^{\underline j} (n + 1)^{n - j} \]

卷积求一行的第二类斯特林数即可做到 \(O(k \log k)\)

403. P4727 [HNOI2009] 图的同构计数 & P4128 [SHOI2006] 有色图

这里相当于一个变换是一个排列。

考虑枚举环长集合,设其为 \(b_1, b_2, \ldots, b_k\),那么环内部的边有 \(\left\lfloor\frac{b_i}{2}\right\rfloor\) 个等价类,环 \((i, j)\) 之间的边有 \(\gcd(b_i, b_j)\) 个等价类。再算一下能形成指定环长集合的排列个数即可。

404. [ABC284Ex] Count Unlabeled Graphs

和上一题几乎一样,多一个二项式反演处理“恰好 \(k\) 种颜色”。

405. CF1954F Unique Strings

相当于求 \(1\) 的个数在 \([l, r]\) 之间,最长 \(1\) 连续段 \(\ge c\) 的方案数。

总方案数减不合法方案数,变成求最长 \(1\) 连续段 \(< c\) 的方案数。

然后再套用 Burnside 定理把循环同构去掉。

但是现在是一个环,所以断环为链,枚举最左端和最右端的 \(1\) 连续段长度。那么就变成链了,随便前缀和优化 dp 预处理一下即可。

406. QOJ834 Disjoint LIS

其实限制就是排列的 \(2-\text{LDS}\) 长度等于 \(1 - \text{LDS}\) 长度的两倍。考虑排列对应的杨表,相当于前面两行长度相同。

然后因为同种形态的杨表对和排列有双射,所以固定杨表形态,对应的排列个数就是 \(f(\lambda)^2\)

407. [ARC062F] Painting Graphs with AtCoDeer

感觉挺牛的,没想到/ll。

首先每条边转不出自己所在的点双,所以点双之间是独立的。

考虑单个点双如何计算答案。

如果点双只有一条边,那么方案数就是 \(K\)

如果点双是一个单环,变成了 Polya 模板题。

否则点双是由 \(> 1\) 个环复合而成的。发现每条边的颜色都能互换。具体地,我们可以使其他边不变然后交换两个环交界处的两条边。对于不在环交界处的两条边,我们可以把它们转到交界处再进行操作。设点双边数为 \(c\),那么方案数是把 \(c\) 分成 \(K\) 份(每份可以为空)的方案数,为 \(\binom{c + K - 1}{K - 1}\)

408. CF1583F Defender of Childhood Dreams

我是傻逼。

答案是 \(\left\lceil \log_k n \right\rceil\),因为我们可以证明用 \(c\) 种颜色能解决 \(k^c\) 个点。

证明考虑归纳,把全部点分成 \(k\) 份,每份变成了一个子问题,两份之间的点的边染同一种颜色。

构造直接根据证明的思路做即可。

posted @ 2024-06-18 19:56  zltzlt  阅读(32)  评论(0编辑  收藏  举报