引言
在一类多项式理论中,常常会遇到
F′=H(F) 的形式,有时可以通过
EGF 求解
但像我这种只会暴力计数的选手经常会推出一个看起来只能分治
FFT 的式子,实际上一些特殊的形式可以做到更优
前置技能
多项式理论基础
看 参考资料 吧
一阶线性微分方程
齐次线性方程
形式
dxdy+P(x)y=0
求解
⇒⇒⇒⇒dxdy+P(x)y=0ydy=−P(x)dx∫ydy=c1−∫P(x)dxln∣y∣=c1−∫P(x)dxy=Ce−∫P(x)dx(C=±ec1)
非齐次线性方程
形式
dxdy+P(x)y=Q(x)
求解
可以通过对应的齐次线性方程,使用 常数变易法 求解
设
y=u(x)e−∫P(x)dx,则:
⇒⇒⇒⇒⇒dxdy=dxdue−∫P(x)dx−u(x)P(x)e−∫P(x)dxdxdue−∫P(x)dx−u(x)P(x)e−∫P(x)dx+P(x)u(x)e−∫P(x)dx=Q(x)dxdu=Q(x)e∫P(x)dx∫du=C+∫Q(x)e∫P(x)dxdxu(x)=C+∫Q(x)e∫P(x)dxdxy=e−∫P(x)dx(C+∫Q(x)e∫P(x)dxdx)
可以发现,等式右端第一项是对应的齐次线性方程的通解,第二项是非齐次线性方程的一个特解(在
C=0 时取到)
即 一阶非齐次线性方程的通解等于对应的齐次方程的通解与非齐次方程的一个特解之和
正文
考虑一类多项式微分方程:
一般来说只需要考虑模
xn 意义下的值即可
那么考虑倍增的过程,假设现在要求
F2n,那么可以先递归求解
Fn
于是现在有:
Fn′≡H(Fn)(modxn)
考虑
H 在
Fn 处的泰勒展开,可以得到:
F2n′≡H(F2n)≡H(Fn)+H′(Fn)(F2n−Fn)(modx2n)
整理可得:
F2n′≡(H(Fn)−H′(Fn)Fn)+H′(Fn)F2n(modx2n)
设
y=F2n,可以得到:
dxdy+P(x)y=Q(x)
于是可以得知它的一组解是:
y=e−∫P(x)dx(C+∫Q(x)e∫P(x)dxdx)
也就是:
y=e∫H′(Fn)dx(C+∫(H(Fn)−H′(Fn)Fn)e−∫H′(Fn)dx)
例题
例1
这道题可能跟上面没啥关系
题目描述
求有多少个
1∼n 的排列,使得环的大小都在
A 中
其中
1≤n≤105,0≤k≤n,1≤ai≤n
题解
fn=∑i=1n(i−1n−1)fn−i(i−1)![i∈A]
设
gi=(i−1)![i∈A],则有:
⇒fn=i=1∑n(i−1n−1)fn−igi(n−1)!fn=i=0∑n(n−i)!fn−i(i−1)!gi
设
[xn]F(x)=n!fn,且
[xn]G(x)=(n−1)!gn=[n∈A],则有:
xF′(x)=F(x)G(x)
y′+x−G(x)y=0
由于
F(0)=1,于是有:
y=C⋅e−∫x−G(x)dx=e∫xG(x)dx
参考资料