两个 GF 转化技巧

1

常系数齐次线性递推转 \([x^n]{P(x)\over Q(x)}\)

递推:已知 \(a_0,\ldots,a_{k-1}\)\(b_1,\ldots,b_k\),且 \(a_i=\sum_{j=1}^ib_ja_{i-j} \ (i\geq k)\),求 \(a_n\)

\(A(x)=\sum_{i\geq0}a_ix^i,p_i=[x^i]P(x),q_i=[x^i]Q(x)\)。那么 \(A(x)Q(x)=P(x)\)

钦定 \(\forall i\geq k,p_i=0\)。故对于 \(i\geq k\),有:

\[\begin{gathered} \sum_{j=0}^iq_ja_{i-j}=0 \\ a_i=\sum_{j=1}^i-{q_j\over q_0}a_{i-j} \end{gathered} \]

又因为:

\[a_i=\sum_{j=1}^kb_ja_{i-j} \]

故我们构造 \(q_0=1,q_j=-[j\leq k]b_j\) 即可。

此时我们知道了完整的 \(Q(x)\),而 \(P(x)\equiv A(x)Q(x)\pmod{x^k}\),这样就得到了完整的 \(P(x)\)

概括:\(Q(x)=1-B(x),P(x)=A(x)Q(x)\bmod x^k\)

\[\deg Q(x)\leq k,\deg P(x)<k \]

接下来可以套 Bostan-Mori。正着反着用都可以,于是也能用来手推 GF \(\longleftrightarrow\) 递推(例题:整数的 lqp 拆分)。

2

简单的半在线卷积转乘法逆(复杂的似乎转不了)。

给出 \(f_0\),已知 \(g_1,\ldots,g_n\)\(f_i=\sum_{j=1}^ig_jf_{i-j}\),求 \(f_1,\ldots,f_n\)

首先 \(f_0=0\)\(f\) 是全 \(0\),直接判掉。

否则设 \(f\) 的 OGF 为 \(F(x)\),构造 OGF \(H(x)\),使得 \(F(x)={1\over H(x)}\)

那么有 \(f_0h_0=1\),得出 \(h_0={1\over f_0}\)

对于 \(i>0\)\(\sum_{j=0}^ih_jf_{i-j}=0\)。又有 \(f_i=\sum_{j=1}^ig_jf_{i-j}\),整理一下是 \(\sum_{j=0}^ig_jf_{i-j}=0,g_0=-1\),乘 \(-h_0\) 得到 \(\sum_{j=0}^ig'_jf_{i-j}=0,g'_j=-g_jh_0,g'_0=h_0\)。现在有 \(g'_0=h_0\),那么令 \(h_i=g'_i=-{g_i\over f_0} \ (i\geq0)\) 即可。

概括一下,即 \(H(x)={1-G(x)\over f_0}\)

2025.7.17

posted @ 2025-12-11 10:16  FirCone  阅读(4)  评论(0)    收藏  举报