[ZJOI2019]开关

题意

洛谷

做法

(p=sum p_i)
(f_i)为进行(i)次恰好到达目标状态的方案数,写成EGF的形式:

[hat {F(x)}=prod(frac{e^{(p_i/p)cdot x+(-1)^{s_i}e^{-(p_i/p)cdot x}}}{2}) ]

(g_i)为进行(i)次恰好返回原状态的方案数,写成EGF的形式:

[hat G(x)=prod(frac{e^{(p_i/p)cdot x+e^{-(p_i/p)cdot x}}}{2}) ]

(h_i)为进行i次恰好第一次到达目标状态的方案数
(f,g,h)的OGF分别为(F,G,H),显然(GH=F),就有

[ans=H'(1)=frac{F'(1)G(1)-G'(1)F(1)}{G^2(1)} ]

(hat {F(x)})表示成(sumlimits_{i=-p}^p a_ie^{(i/p)x})的形式,就有(f_k=sumlimits_{i=-p}^p a_i(i/p)^k),故:

[F(x)=sumlimits_{i=-p}^p frac{a_i}{1-(i/p)x} ]

(G(x))同理,但是这样子(x=1)是不收敛的,因为(H=F/G),在(F,G)分别乘上(1-x)就好了

原文地址:https://www.cnblogs.com/Grice/p/12696094.html