拉格朗日反演
拉格朗日反演
若 \(G(F(x)) = x\),即 \(F, G\) 互为复合逆且 \(F, G\) 的常数项为 \(0\),一次项不为 \(0\),若已知 \(F\),可以求得 \(G\) 的某一项:
凑出合适 \(F\) 的方法:
- 减去 \([x ^ 0]F(x)\)。
- 构造 \(xF(x)\)。
拓展形式:
卡特兰数通项公式的一个拉反求法
我们知道卡特兰数的一个生成函数 \(C(x)\) 满足 \(C(x) = 1 + x C ^ 2(x)\)。
设 \(F(x) = C(x) - 1\),有 \(F(x) = x(F(x) + 1) ^ 2 \Rightarrow x = \frac{F(x)}{(F(x) + 1) ^ 2}\),设 \(G(x) = \frac{x}{(x + 1) ^ 2}\),有 \(F, G\) 互为复合逆。
于是就有:
Petrozavodsk Summer 2021. Day 1. Kyoto U Contest - M. Multiple Parentheses
首先有一个暴力做法,设 \(F(x) = \sum\limits_{n = 0} ^ {\infty}[n\neq k] {{2n\choose n}\over n + 1}x ^n\),然后快速幂即可。
但是这题的数据范围是 \(10 ^ 6\),大部分多项式板子过不去。
我们知道卡特兰数的生成函数是 \(C(x) = \frac{1 - \sqrt{1 - 4x}}{2x}\),但是如果减去第 \(k\) 项会比较麻烦,所以枚举 \(N\) 个盒子里面出现大小为 \(2K\) 的盒子个数,然后容斥就好了。
现在要求 \([x ^ {M - Ki}](\frac{1 - \sqrt{1 - 4x}}{2x}) ^ {N - i}\),也就是要求 \([x ^ m]C ^ k(x)\)。
有 \(C(x) = xC^2(x) + 1\),那么有 \(xC(x) = x ^ 2 C ^ 2(x) + x\),设 \(H(x) = xC(x)\),得到 \(H(x) = H ^ 2(x) + x \Rightarrow x = H(x) - H^2(x)\),设 \(G(x) = x - x ^ 2\),有 \(G(H(x)) = x\)。
我们要求 \([x ^ m]C ^ k(x)\),即 \([x ^ {m + k}] H ^ k(x)\),对式子进行拓展的拉格朗日反演:
右边是一个经典的生成函数 \(\frac{1}{(1 - x) ^ t} = \sum\limits_{n = 0} ^ {\infty} {n + t - 1\choose n} x ^ n\)。
所以 \(\tau(m, k) = [x ^ m]C ^ k(x) = \frac{k}{m + k} {k + 2m - 1\choose m}\)。
答案就是 \(\sum\limits_i (-1) ^ {i} (C_K) ^ i {N\choose i} \tau(M - Ki, N - i)\)。
inline mint tau(int m, int k) {
if (m == 0) return mint(1);
return mint(k) * inv[m + k] * C(k + 2 * m - 1, m);
}
int n, m, k;
inline void solve() {
cin >> n >> m >> k;
Invtable(max(n, m) << 2);
mint ans = 0, cof = 1;
forn (i, 0, min(n, m / k)) {
if (i & 1) ans -= C(n, i) * tau(m - k * i, n - i) * cof;
else ans += C(n, i) * tau(m - k * i, n - i) * cof;
cof *= C(k << 1, k) * inv[k + 1];
}
cout << ans.r << '\n';
}
ABC222H - Beautiful Binary Tree
设 \(f(n)\) 为 \(n\) 次美丽二叉树的个数,\(g(n)\) 为根节点为 \(0\) 的满足其他条件的二叉树的个数,由于叶子节点必须为 \(1\),所以有边界条件 \(f(1) = 1, g(1) = 0\),由此得到:
\(F(x) = \sum\limits_{n = 0} ^ {\infty} f(n)x ^ n, G(x) = \sum\limits_{n = 0} ^ {\infty} g(n)x ^ n\),有:
将 \(G(x)\) 带掉:
于是得到:
由于拉格朗日反演要求常数项为 \(0\),设 \(H(x) = F(x) - 1\),有 \(x = \frac{H(x)}{(H^2(x) + 3H(x) + 2) ^ 2}\),设 \(\phi(x) = \frac{x}{(x ^ 2 + 3x + 1)^2}\),根据拉格朗日反演,可以得到:
所以答案就是:
什么,你说怎么没有[WC2019]数树,这我哪会啊

浙公网安备 33010602011771号