[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)}\)表示成\(\sum\limits_{i=-p}^p a_ie^{(i/p)x}\)的形式,就有\(f_k=\sum\limits_{i=-p}^p a_i(i/p)^k\),故:
\[F(x)=\sum\limits_{i=-p}^p \frac{a_i}{1-(i/p)x}
\]
求\(G(x)\)同理,但是这样子\(x=1\)是不收敛的,因为\(H=F/G\),在\(F,G\)分别乘上\(1-x\)就好了