数学总结

未完待续


看起来很暴力、很丑陋的式子不一定是没有前途的。(比如反射容斥、ARC120F Wine Thief、OIFC 260119 T1)

拆贡献

遇到求和式,可以考虑拆贡献。

特殊形式

\[\sum_{k\ge 1} k\cdot f_{=k}=\sum_{k\ge 1} f_{\ge k} \]

转为概率形式即(例:AGC032F One Third)

\[E(X)=\sum P(\ge x) \]

组合计数

part0

组合恒等式

区间长度倍贡献

在区间中加入一个点,则这个点位置数量刚好是区间长度。

ABC225H Social Distance 2

以 \(k=0\) 为例,区间长度连乘再求和,先给每一个区间中加入一个点,使长度为 \(B_{i+1}-B_i\),再在区间里多选一个点。原问题等价于 \(N+M-1\) 个点,选 \(M+M-1\) 个,求方案数,答案为

\[\binom{N+M-1}{2M-1} \]

序列选点

给一个长 \(n\) 序列,要选 \(m\) 点,有限制。

考虑插板法或类插板法技巧。

可重复

即可重复组合数,考虑插板法。把元素和缝隙的地位交换,变为 \(n-1\) 个元素,划分成 \(m+1\) 段,段可以为空。这是经典问题,先加进来 \(m+1\) 个元素,变为每段不可为空,在删去每段首个元素,这是一一对应的。答案为

\[\binom{n-1+m+1-1}{m+1-1}=\binom{n+m-1}{m} \]

间距 \(\ge d\)

这里认为相邻间距为 \(0\)。与每段可空插板法类似,先去掉 \((m-1)d\) 个元素,再加回来。答案为

\[\binom{n-(m-1)d}{m} \]

图论计数

零度点容斥

主旋律

题解

矩阵树定理

鸽了。

容斥原理

做容斥时,一定要确定对象和目标,不然会死的很惨。注意:容斥时带不带组合数,要枚举几个变量,区分要求的是 \(0\)、非 \(0\)、恰为 \(i\)……

对于“钦定-恰好”类容斥,如果方案有权值,且在不同钦定方法下算出来的权值不一样,容斥做不了,需要 GF(可参考案例 1)。

标准容斥

二项式反演

使用二项式反演时,一定要确认 \(j\) 在 \(i\) 处被统计次数是否为 \(\binom{j}{i}\)(或 \(\binom{i}{j}\))。

类型 1

这类比较少见,因为很多情况下 \(j\) 对 \(i\) 的贡献不是 \(\binom{i}{j}\)。

有 \(f_i=\sum\limits_{j=0}^i\binom{i}{j}g_j\),则 \(g_i=\sum\limits_{j=0}^i\binom{i}{j}(-1)^{j-i}f_j\)。

???+ 例:错排问题

\(f_i\) 表示 \(i\) 个数最多错排 \(i\) 个,即任意排列方案数;\(g_i\) 表示 \(i\) 个数错排方案数。

\[f_i=i! \]

\[f_i=\sum\limits_{j=0}^i\binom{i}{j}g_j \]

反演可得

\[g_i=\sum\limits_{j=0}^i\frac{i!}{(i-j)!}(-1)^{j-i}=i!\sum\limits_{j=0}^i\frac{(-1)^j}{j!} \]

???-

类型 2

组合意义为钦定-恰好。

有 \(f_i=\sum\limits_{j=i}^n\binom{j}{i}g_j\),则 \(g_i=\sum\limits_{j=i}^n\binom{j}{i}(-1)^{j-i}f_j\)。

子集反演/子集容斥

与二项式反演异曲同工,如果对相同大小的集合求和即为二项式反演(特别地,如果相同大小的集合权值相同,可直接变为二项式反演)。

类型 1

有 \(f_S=\sum\limits_{T\subseteq S}g_T\),则 \(g_S=\sum\limits_{T\subseteq S}(-1)^{|S|-|T|}f_T\)

类型 2

更准确地说应该叫超集反演(?

有 \(f_S=\sum\limits_{S\subseteq T}g_T\),则 \(g_S=\sum\limits_{S\subseteq T}(-1)^{|T|-|S|}f_T\)


接下来是一些常见案例

案例 1:序列分段

例题:ARC134F Flipping Coins,P7275 计树

把序列划分成若干段,相邻两段合并为一个大段的情况会被重复统计。可以容斥(二项式反演),也可以 GF。

容斥时,一定要对 相邻同组元素 数量容斥。

???+ 为什么不能对分割点/段数容斥

考虑第一类二项式反演的前提 \(f_i=\sum\limits_{j=0}^i\binom{i}{j}g_j\),当前背景下,小的 \(j\) 对大的 \(i\) 贡献系数不是 \(\binom{i}{j}\),而是 \(\binom{n-j}{n-i}\)(可自行带入 \(i=1,j=0\) 验证),故不行。

???-

当分段有限制、方案有权值等容斥做不动的情况时,就要用 GF 形式,有一个前提条件是段之间的贡献为乘法关系。

???+ 做法

注意到一个划分方案会在所有子划分方案(某些段被进一步划分)中被统计 \(\textbf{1 次}\)。因为贡献为乘法形式,段之间独立,设每一段贡献系数关于段长生成函数为 \(F(x)\),容斥系数关于段长的生成函数为 \(G(x)\),则

\[\sum_{i\ge 1}G^i(x)=\frac{1}{1-G(x)}-1=F(x) \]

解得

\[G(x)=1-\frac{1}{1+F(x)} \]

把 \(G\) 按题目背景组合起来即可。

???-

多项式与生成函数

裂项

面对有理式取某一项,考虑裂项,因为有理式 D-Finite,所以有时候题解说 D-Finite 指的就是去裂项。

对

\[f(x)=\frac{g(x)}{h(x)} \]

将 \(h(x)\) 因式分解为 \(p(x)q(x)\),令

\[f(x)=A\cdot\frac{1}{p(x)}+B\cdot\frac{1}{q(x)} \]

注意裂项的系数不一定为 1:1,这在数学中不太常见。

待定系数解出 \(A,B\) 即可,一般与 \(x\) 无关(可能是可以说明必然无关的)。

典例:斐波那契数列通项公式

斯特林数、伯努利数、自然数幂求和

我们喜欢用关于 \(k\) 的 EGF。

学习自本文。

集合幂级数

学习笔记

设哑元

当不同位置求和时,可用 \(t^i\rightarrow a_i\)。

ARC120F、ARC120F2

分式求通项

把分母因式分解为 \(\prod (r_i-x)^{k_i}\),再裂项,变为若干简单分式求和。

例:斐波那契数列通项公式、本文

模特殊多项式环

例:联考 260223

对于 \(\mod (x^k-1)\) 的多项式卷积,可以用单位根插值,即求出 \(f(\omega_k),f(\omega_k^2),\dots,f(1)\),用单位根反演插回去,对于 \(k\) 为 \(2\) 幂的情况,可进一步写成 fft/ntt(fft/ntt 的本质就是单位根插值)。

杂项

一

对于一个生成函数 \(F(x)=\sum\limits_{i=0}^{\infty}f_ix^i\),有

\[\left[\frac{t^k}{k!}\right]F(e^t)=\sum\limits_{j=0}^{\infty}j^kf_j \]

???+ 证明

\[\begin{align*} F(e^t)&=\sum\limits_{i=0}^{\infty}f_ie^{it} \\ &=\sum\limits_{i=0}^{\infty}f_i\sum\limits_{j=0}^{\infty}\frac{(it)^j}{j!} \\ &=\sum\limits_{j=0}^{\infty}\left(\sum\limits_{i=0}^{\infty}f_ii^j\right)\frac{t^j}{j!} \end{align*} \]

???-

数论

单位根反演

\[[k\mid n]=\sum\limits_{i=0}^{n-1}\omega_n^{ik} \]

\[[k\text{ mod }n=r]=\sum\limits_{i=0}^{n-1}\omega_n^{-ir}\omega_n^{ik} \]

???+ 证明

\[\sum\limits_{i=0}^{n-1}\omega_n^{ik}=\frac{1-\omega_n^{nk}}{1-\omega_n^k} \]

若 \(k\mid n\),分子分母均为 \(0\),代入原式得到 \(1\)。

否则,分子为 \(0\),分母不为 \(0\),原式 \(=0\)。

???-

“小学奥数”

一

\[\frac{n}{10^{d}-1}=\sum\limits_{i=1}^{\infty}\frac{n}{10^{id}} \]

???+ 证明一(等比数列求和)

\[\begin{align*} \frac{n}{10^{d}-1}&=\frac{10^{-d}n}{1-10^{-d}} \\ &=10^{-d}n\sum\limits_{i=0}^{\infty}10^{-id} \\ &=n\sum\limits_{i=1}^{\infty}10^{-id} \\ &=\sum\limits_{i=1}^{\infty}\frac{n}{10^{id}} \end{align*} \]

???-

???+ 证明二(循环小数)

只需证 \(n=1\),其他情况提公因数 \(n\)。

\[RHS=0.\underbrace{00\dots01}_{d-1个0}00\dots01\dots=x \]

则

\[10^dx=1+x \]

解得

\[x=\frac{1}{10^d-1}=LHS \]

???-

二

在小学奥数中,我们知道 \(n\text{ mod }9\) 等于 \(n\) 各位数求和模 \(9\)

\[n\text{ mod }9=\left(\sum\limits_{i=0}^{\infty}\left(\left\lfloor\frac{n}{10^i}\right\rfloor\text{ mod }10\right)\right)\text{ mod }9 \]

推广一下:

\[n\text{ mod }(10^d-1)=\left(\sum\limits_{i=0}^{\infty}\left(\left\lfloor\frac{n}{10^{id}}\right\rfloor\text{ mod }10^d\right)\right)\text{ mod }(10^d-1) \]

???+ 证明

设 \(a_i=\left\lfloor\frac{n}{10^{id}}\right\rfloor\text{ mod }10^d\),则

\[\begin{align*} n&=\sum\limits_{i=0}^{\infty}a_i10^{id} \\ &\equiv\sum\limits_{i=0}^{\infty}a_i\mod(10^d-1) \\ \end{align*} \]

???-

posted @ 2026-01-05 20:21  SmpaelFx  阅读(30)  评论(0)    收藏  举报