专栏文章

多项式与生成函数

个人记录参与者 1已保存评论 0

文章操作

快速查看文章及其快照的属性,并进行相关操作。

当前评论
0 条
当前快照
1 份
快照标识符
@mios1fky
此快照首次捕获于
2025/12/03 00:12
3 个月前
此快照最后确认于
2025/12/03 00:12
3 个月前
查看原文

多项式与生成函数

普通生成函数

A\text{A}

(1,2),(3,8),(4,7),(5,6)(1,2),(3,8),(4,7),(5,6)
f1(x)=f2(x)=f4(x)=n0xn=11x, f3(x)=n1xn=x1xf_1(x)=f_2(x)=f_4(x)=\sum\limits_{n\ge 0} x^n=\dfrac{1}{1-x},\space f_3(x)=\sum\limits_{n\ge 1}x^n=\dfrac{x}{1-x}
f(x)=x(1x)4=x(1x)4=xn0i=0n1(4i)n!(1)nxnf(x)=\dfrac{x}{(1-x)^4}=x(1-x)^{-4}=x\sum\limits_{n\ge 0} \dfrac{\prod\limits_{i=0}^{n-1}(-4-i)}{n!}(-1)^nx^n
=xn0(n+3)!3!n!(1)2nxn=n1(n+23)xn=x\sum\limits_{n\ge 0}\dfrac{(n+3)!}{3!n!}(-1)^{2n}x^n=\sum\limits_{n\ge 1}\dbinom{n+2}{3} x^{n}
答案为 (n+2)(n+1)n6\dfrac{(n+2)(n+1)n}{6}

B\text{B}

fi(x)=j=0mixj=1xmi+11xf_i(x)=\sum\limits_{j=0}^{m_i}x^j=\dfrac{1-x^{m_i+1}}{1-x}
F(x)=(1x)ni=1n(1xmi+1)=g(x)h(x)F(x)=(1-x)^{-n}\prod\limits_{i=1}^n (1-x^{m_i+1})=g(x)h(x)
g(x)=k0(x)ki=0k1(ni)k!=k0xk(n+k1)!k!(n1)!=k0xk(n+k1k)g(x)=\sum\limits_{k\ge 0} (-x)^k\dfrac{\prod\limits_{i=0}^{k-1}(-n-i)}{k!}=\sum\limits_{k\ge 0} x^k\dfrac{(n+k-1)!}{k!(n-1)!}=\sum\limits_{k\ge 0}x^k\dbinom{n+k-1}{k}
n10n\le 10:求 h(x)h(x),时间复杂度 O(2n)O(2^n)
次数为 kk,设系数为 ckc_k,对答案贡献为 ckskc_ks_k
sk=i=akbk(n+i1i)=(n+ak1ak1)+(n+ak1ak)+(i=ak+1bk(n+i1i))(n+ak1ak1)s_k=\sum\limits_{i=a-k}^{b-k}\dbinom{n+i-1}{i}=\dbinom{n+a-k-1}{a-k-1}+\dbinom{n+a-k-1}{a-k}+(\sum\limits_{i=a-k+1}^{b-k}\dbinom{n+i-1}{i})-\dbinom{n+a-k-1}{a-k-1}
=(n+akak)+(n+akak+1)+(i=ak+2bk(n+i1i))(n+ak1ak1)=\dbinom{n+a-k}{a-k}+\dbinom{n+a-k}{a-k+1}+(\sum\limits_{i=a-k+2}^{b-k}\dbinom{n+i-1}{i})-\dbinom{n+a-k-1}{a-k-1}
sk=(n+bkbk)(n+ak1ak1)=(n+bkn)(n+ak1n)s_k=\dbinom{n+b-k}{b-k}-\dbinom{n+a-k-1}{a-k-1}=\dbinom{n+b-k}{n}-\dbinom{n+a-k-1}{n}
时间复杂度 O(2nn)O(2^nn)

C\text{C}

求斐波那契数列的生成函数 f(x)f(x)
(1xx2)f(x)=a0x0+(a1a0)x1(1-x-x^2)f(x)=a_0x^0+(a_1-a_0)x^1
(1xx2)f(x)=x(1-x-x^2)f(x)=x
f(x)=x1xx2f(x)=\dfrac{x}{1-x-x^2}
g(x)=i0f(x)ig(x)=\sum\limits_{i\ge 0}f(x)^i
y=f(x)y=f(x)yg(x)=g(x)1yg(x)=g(x)-1
g(x)=11f(x)=11x1xx2=1xx212xx2=1+x12xx2g(x)=\dfrac{1}{1-f(x)}=\dfrac{1}{1-\dfrac{x}{1-x-x^2}}=\dfrac{1-x-x^2}{1-2x-x^2}=1+\dfrac{x}{1-2x-x^2}
引理:等比数列 an=ckn{a_n=ck^n} 的生成函数为 c1kx\dfrac{c}{1-kx}
证明:f(x)=n0cknxnf(x)=\sum\limits_{n\ge 0}ck^nx^n
kxf(x)=n1cknxnkxf(x)=\sum\limits_{n\ge 1}ck^nx^n
(1kx)f(x)=c(1-kx)f(x)=c
f(x)=c1kxf(x)=\dfrac{c}{1-kx}
待定系数:设 h(x)=x12xx2h(x)=\dfrac{x}{1-2x-x^2}
h(x)=a1bx+c1dx=(a+c)(ad+bc)x1(b+d)x+bdx2h(x)=\dfrac{a}{1-bx}+\dfrac{c}{1-dx}=\dfrac{(a+c)-(ad+bc)x}{1-(b+d)x+bdx^2}
a+c=0,ad+bc=1,b+d=2,bd=1a+c=0,ad+bc=-1,b+d=2,bd=-1
a=24,b=1+2,c=24,d=12a=\dfrac{\sqrt{2}}{4},b=1+\sqrt{2},c=-\dfrac{\sqrt{2}}{4},d=1-\sqrt{2}
h(x)=n024[(1+2)n(12)n]xnh(x)=\sum\limits_{n\ge 0}\dfrac{\sqrt{2}}{4}[(1+\sqrt{2})^n-(1-\sqrt{2})^n]x^n
答案为 g(n)1=h(n)g(n)-1=h(n)
259713600(mod109+7)\sqrt{2}\equiv59713600\pmod{10^9+7}

指数生成函数

F\text{F}

t=di=1naii=1n(aidi)nkt=\dfrac{\sum\limits_d \prod\limits_{i=1}^na_i-\prod\limits_{i=1}^n(a_i-d_i)}{n^k}
s=di=1n(aidi)s=\sum\limits_d \prod\limits_{i=1}^n (a_i-d_i)
f^i(x)=j0(aij)xjj!=aij0xjj!j0jxjj!=aij0xjj!j1xj(j1)!\hat{f}_i(x)=\sum\limits_{j\ge 0}\dfrac{(a_i-j)x^j}{j!}=a_i\sum\limits_{j\ge 0}\dfrac{x^j}{j!}-\sum\limits_{j\ge 0}\dfrac{jx^j}{j!}=a_i\sum\limits_{j\ge 0}\dfrac{x^j}{j!}-\sum\limits_{j\ge 1}\dfrac{x^j}{(j-1)!}
g^i(x)=aiex\hat{g}_i(x)=a_ie^xh^i(x)=xj0xjj!=xex\hat{h}_i(x)=x\sum\limits_{j\ge 0}\dfrac{x^j}{j!}=xe^x
f^i(x)=(aix)ex\hat{f}_i(x)=(a_i-x)e^x
F^(x)=k!i=1nf^i(x)=k!enxi=1n(aix)\hat{F}(x)=k!\prod\limits_{i=1}^n \hat{f}_i(x)=k!e^{nx}\prod\limits_{i=1}^n(a_i-x)
P(x)=i=1n(aix)=i=0ncixiP(x)=\prod\limits_{i=1}^n (a_i-x)=\sum\limits_{i=0}^n c_ix^i
enxe^{nx}x=0x=0 处泰勒展开,得 enx=i0nixii!e^{nx}=\sum\limits_{i\ge 0}\dfrac{n^ix^i}{i!}
F^(x)=k!(i0nixii!)(i=0ncixi)\hat{F}(x)=k!(\sum\limits_{i\ge 0}\dfrac{n^ix^i}{i!})(\sum\limits_{i=0}^n c_ix^i)
[xk]F^(x)=k!i=0ncinki(ki)![x^k]\hat{F}(x)=k!\sum\limits_{i=0}^n \dfrac{c_in^{k-i}}{(k-i)!}
w=i=0ncik!(ki)!niw=\sum\limits_{i=0}^n \dfrac{c_ik!}{(k-i)!n^i}
答案为 i=1naiw\prod\limits_{i=1}^na_i-w

多项式

K\text{K}

n=2k(kN+)n=2^k(k\in \N_+)

快速傅里叶变换

f(x)=i=0naixi=i=0n2a2ix2i+a2i+1x2i+1f(x)=\sum\limits_{i=0}^n a_ix^i=\sum\limits_{i=0}^{\frac{n}{2}}a_{2i}x^{2i}+a_{2i+1}x^{2i+1}
g(x)=i=0n2a2ixi,h(x)=i=0n2a2i+1xig(x)=\sum\limits_{i=0}^{\frac{n}{2}} a_{2i}x^i,h(x)=\sum\limits_{i=0}^{\frac{n}{2}}a_{2i+1}x^i
f(x)=g(x2)+xh(x2)f(x)=g(x^2)+xh(x^2)

引理 11:已知 nn 是偶数,ωni=cos2πin+isin2πin\omega_n^i=\cos \dfrac{2\pi i}{n}+\text{i}\sin\dfrac{2\pi i}{n},则 ωni=ωni+n/2\omega_n^i=-\omega_n^{i+n/2}ω2n2i=ωni\omega_{2n}^{2i}=\omega_n^i
引理 22:已知复数 z0=z1z2z_0=z_1z_2,对于 i={0,1,2}i=\{0,1,2\},设 ri=zi,zi=ri(cosθi+iθi)r_i=|z_i|,z_i=r_i(\cos\theta_i+\text{i}\theta_i),则 r0=r1r2r_0=r_1r_2θ0=θ1+θ2\theta_0=\theta_1+\theta_2
证明:z0=z1z2=r1r2[cosθ1cosθ2sinθ1sinθ2+i(cosθ1sinθ2+sinθ1cosθ2)]=r1r2[cos(θ1+θ2)+isin(θ1+θ2)]z_0=z_1z_2=r_1r_2[\cos\theta_1\cos\theta_2-\sin\theta_1\sin\theta_2+\text{i}(\cos\theta_1\sin\theta_2+\sin\theta_1\cos\theta_2)]=r_1r_2[\cos(\theta_1+\theta_2)+\text{i}\sin(\theta_1+\theta_2)]
引理 33wnn=1w_n^n=1

f(ωni)=g(ωn2i)+ωnih(ωn2i)=g(ωn/2i)+ωnih(ωn/2i)f(\omega_n^i)=g(\omega_n^{2i})+\omega_n^ih(\omega_n^{2i})=g(\omega_{n/2}^i)+\omega_n^ih(\omega_{n/2}^i)
f(ωni+n/2)=g(ωn2i+n)+ωni+n/2h(ωn2i+n)=g(ωn2i)ωnih(ωn2i)=g(ωn/2i)ωnih(ωn/2i)f(\omega_n^{i+n/2})=g(\omega_n^{2i+n})+\omega_n^{i+n/2}h(\omega_n^{2i+n})=g(\omega_{n}^{2i})-\omega_n^ih(\omega_{n}^{2i})=g(\omega_{n/2}^i)-\omega_n^ih(\omega_{n/2}^i)
g(ωn/2i),h(ωn/2i)g(\omega_{n/2}^i),h(\omega_{n/2}^i),得 i[0,n)Z,f(i)\forall i\in [0,n)\cap \Z,f(i),时间复杂度 O(nlog2n)O(n\log_2 n)

快速傅里叶逆变换

已知 i[0,n)Z,yi=f(ωni)\forall i\in [0,n)\cap \Z,y_i=f(\omega_n^i),构造 g(x)=i=0n1yixig(x)=\sum\limits_{i=0}^{n-1}y_ix^i
bi=ωnib_i=\omega_n^{-i},则 g(bi)=j=0n1f(ωnj)ωnij=j=0n1ωnijk=0n1akωnjk=k=0n1akj=0n1ωnj(ki)g(b_i)=\sum\limits_{j=0}^{n-1}f(\omega_n^j)\omega_n^{-ij}=\sum\limits_{j=0}^{n-1}\omega_n^{-ij}\sum\limits_{k=0}^{n-1}a_k\omega_n^{jk}=\sum\limits_{k=0}^{n-1}a_k\sum\limits_{j=0}^{n-1}\omega_n^{j(k-i)}
p(ωnx)=i=0n1ωnix=i=0n1(ωnx)ip(\omega_n^x)=\sum\limits_{i=0}^{n-1}\omega_n^{ix}=\sum\limits_{i=0}^{n-1}(\omega_n^x)^i
x=0x=0p(ωnx)=np(\omega_n^x)=n
x0x\neq 0p(w)=ωnnxωn0ωnx1=0p(w)=\dfrac{\omega_n^{nx}-\omega_n^0}{\omega_n^x-1}=0
g(bi)=aing(b_i)=a_in,即多项式 ggbib_i 处的点值表示法为 {(bi,ain)i[0,n)Z}\{(b_i,a_in)|i\in [0,n)\cap \Z\}

位逆序置换

x=i=0kai2ix=\sum\limits_{i=0}^k a_i2^i,则 px=i=0kaki2ip_x=\sum\limits_{i=0}^ka_{k-i}2^i
px=px/22+(xmod2)2k1p_x=\lfloor\dfrac{p_{\lfloor x/2\rfloor}}{2}\rfloor+(x\mod 2) 2^{k-1}

L\text{L}

f(x)=i=0n1aixi,g(x)=i=0n11i2f(x)=\sum\limits_{i=0}^{n-1}a_ix^i,g(x)=\sum\limits_{i=0}^{n-1}\dfrac{1}{i^2}
k[0,n)Z,[xk]f(x)g(x)=i=0n1ai×1(ki)2\forall k\in [0,n)\cap \Z,[x^k]f(x)g(x)=\sum\limits_{i=0}^{n-1}a_i\times \dfrac{1}{(k-i)^2}
F(x)=f(x)g(x),pk=[xk]F(x)F(x)=f(x)g(x),p_k=[x^k]F(x)

M\text{M}

f(x)=i=0nai10i,g(x)=i=0mbi10i,h(x)=f(x)g(x)f(x)=\sum\limits_{i=0}^na_i10^i,g(x)=\sum\limits_{i=0}^mb_i10^i,h(x)=f(x)g(x)
q0=[x0]h(x),qi=qi110+[xi]h(x),pi=qimod10q_0=[x^0]h(x),q_i=\lfloor \dfrac{q_{i-1}}{10} \rfloor+[x^i]h(x),p_i=q_i\mod 10

N\text{N}

快速数论变换

阶:若 (a,m)=1(a,m)=1,则定义满足 ax1(modm)a^x\equiv 1\pmod{m} 的正整数 xx 的最小值为 δm(a)\delta_m(a)
原根:若 (a,m)=1,δm(a)=φ(m)(a,m)=1,\delta_m(a)=\varphi(m),则 aa 为模 mm 的原根
n=2k(kN+)n=2^k(k\in \N_+)pp 为质数且 n(p1)n|(p-1)ggpp 的一个原根
gn=gp1ng_n=g^{\frac{p-1}{n}},则
引理 11gnn=gp11(modp)g_n^n=g^{p-1}\equiv 1\pmod{p}
引理 22gnn/21(modp)g_n^{n/2}\equiv -1\pmod{p}
证明:gnn/2=g(p1)/2g_n^{n/2}=g^{(p-1)/2}
(g(p1)/2)21(modp)(g^{(p-1)/2})^2\equiv 1\pmod{p}
[g(p1)/2+1][g(p1)/21]0(modp)[g^{(p-1)/2}+1][g^{(p-1)/2}-1]\equiv 0\pmod{p}
gnn/21(modp)g_n^{n/2}\equiv -1\pmod{p},则 g(p1)/21(modp),δp(g)p12<p1g^{(p-1)/2}\equiv 1\pmod{p},\delta_p(g)\le \dfrac{p-1}{2}<p-1,不成立
所以 gnn/21(modp)g_n^{n/2}\equiv -1\pmod{p}
引理 33g2n2k=g2k(p1)2n=gk(p1)n=gnkg_{2n}^{2k}=g^{\frac{2k(p-1)}{2n}}=g^{\frac{k(p-1)}{n}}=g_n^k

O\text{O}

已知 f(x)g(x)1(modxn),f(x)h(x)1(modxn/2)f(x)g(x)\equiv 1\pmod{x^n},f(x)h(x)\equiv 1\pmod{x^{n/2}},则 f(x)(g(x)h(x))0(modxn/2)f(x)(g(x)-h(x))\equiv 0\pmod{x^{n/2}},所以 g(x)h(x)0(modxn/2)g(x)-h(x)\equiv 0\pmod{x^{n/2}},设 g(x)=a(x)+b(x)xn/2,h(x)=a(x)+c(x)xn/2g(x)=a(x)+b(x)x^{n/2},h(x)=a(x)+c(x)x^{n/2},则 g(x)h(x)=(b(x)c(x))xn/2g(x)-h(x)=(b(x)-c(x))x^{n/2},平方得 g(x)22g(x)h(x)+h(x)2=(b(x)c(x))2xng(x)^2-2g(x)h(x)+h(x)^2=(b(x)-c(x))^2x^n,所以
g(x)22g(x)h(x)+h(x)20(modxn),f(x)g(x)22f(x)g(x)h(x)+f(x)h(x)20(modxn)g(x)^2-2g(x)h(x)+h(x)^2\equiv 0\pmod{x^n},f(x)g(x)^2-2f(x)g(x)h(x)+f(x)h(x)^2\equiv 0\pmod{x^n}
g(x)2h(x)+f(x)h(x)20,g(x)2h(x)f(x)h(x)2(modxn)g(x)-2h(x)+f(x)h(x)^2\equiv 0,g(x)\equiv 2h(x)-f(x)h(x)^2\pmod{x^n}

多项式与生成函数综合

X\text{X}

(6,7),(10,4),(3,1),(5,8),(2,9)(6,7),(10,4),(3,1),(5,8),(2,9)
i[1,5]Z,fi(x)=n0xn\forall i\in [1,5]\cap \Z,f_i(x)=\sum\limits_{n\ge 0} x^n
fi(x)=11xf_i(x)=\dfrac{1}{1-x}
p=(1x)5=n0i=0n1(5i)n!(1)nxn=n0(1)n(n+4)!4!n!(1)nxn=n0(n+44)xnp=(1-x)^{-5}=\sum\limits_{n\ge 0}\dfrac{\prod\limits_{i=0}^{n-1}(-5-i)}{n!}(-1)^nx^n=\sum\limits_{n\ge 0}\dfrac{(-1)^n(n+4)!}{4!n!}(-1)^nx^n=\sum\limits_{n\ge 0}\dbinom{n+4}{4}x^n
答案为 (n+4)(n+3)(n+2)(n+1)24\dfrac{(n+4)(n+3)(n+2)(n+1)}{24}

Y\text{Y}

已知 f0(x)=i=1naixi,f1(x)=f0(x)g(x),si=[xi]f1(x)f_0(x)=\sum\limits_{i=1}^na_ix^i,f_1(x)=f_0(x)g(x),s_i=[x^i]f_1(x),求 g(x)g(x) 使对于任意的 aaggaa 的一阶前缀和的生成函数
a0=0a_0=0,则 i[0,n)Z,[xi]g(x)=1\forall i\in[0,n)\cap \Z,[x^i]g(x)=1g(x)=i0xi=11xg(x)=\sum\limits_{i\ge 0}x^i=\dfrac{1}{1-x}
aakk 阶前缀和的生成函数为 fi(x)=f0(x)g(x)k=f0(x)(1x)kf_i(x)=f_0(x)g(x)^k=f_0(x)(1-x)^{-k}
h(x)=(1x)k=i0j=0i1(kj)i!(1)ixi=i0(k+i1)!i!(k1)!xi=i0(k+i1i)xih(x)=(1-x)^{-k}=\sum\limits_{i\ge 0}\dfrac{\prod\limits_{j=0}^{i-1}(-k-j)}{i!}(-1)^ix^i=\sum\limits_{i\ge 0}\dfrac{(k+i-1)!}{i!(k-1)!}x^i=\sum\limits_{i\ge 0}\dbinom{k+i-1}{i}x^i

评论

0 条评论,欢迎与作者交流。

正在加载评论...