首页 > 其他分享 >ABC289H

ABC289H

时间:2023-02-17 12:24:13浏览次数:30  
标签:cdot sum 相遇 ABC289H binom bigg

ABC289H

令 \(f(i)\) 表示三个人在时刻 \(i\) 第一次相遇的概率,令 \(g(i)\) 表示三个人在时刻 \(i\) 相遇的概率。

\(f,g\) 都是令三个人初始位置是 \(A,B,C\) 的。

令 \(h(i)\) 为三个人开始在相同位置,在时刻 \(i\) 相遇的概率。

那么有转移式

\[f(i)=g(i)-\sum_{j=0}^{i-1}f(j)h(i-j) \]

用一手生成函数

\[\sum_{i=0}^n f(i)x^i=\sum_{i=0}^n \bigg( g(i)x^i-\sum_{j=0}^{i-1}f(j)x^j\cdot h(i-j)x^{i-j}\bigg)\\ \sum_{i=0}^n f(i)x^i=\sum_{i=0}^n g(i)x^i-\sum_{i=0}^n\bigg(\sum_{j=0}^i f(j)x^j\cdot h(i-j)x^{i-j}\bigg)+\sum_{i=0}^n f(i)x^i\cdot h(0)x^0\\ F(x)=G(x)-F(x)H(x)+h(0)F(x)\\ F(x)=G(x)-F(x)(H(x)-1)\\ G(x)=F(x)H(x)\\ F(x)=\frac {G(x)}{H(x)} \]

只要能求出 \(G,H\) 即可在 \(O(n\log n)\) 的时间内用多项式求逆解决。

这两个都是类似的,写成一般形式都可以刻画出 \(A,B,C\) 三个起始点。

强令 \(A=0,A\le B\le C\),这个转化不会产生任何区别。

允许 \(+1\) 或 \(-1\),改成允许 \(+2\) 或 \(+0\),把下标 \(/2\) 变成允许 \(+1\) 或 \(+0\)。

枚举相遇的位置得到

\[\begin{align} g(i)&=\sum_{j=0}^{i}\binom {i}{j-A}\binom {i}{j-B}\binom {i}{j-C}\\ &=\sum_{j=0}^i\dfrac {(i!)^3}{(j-A)!(j-B)!(j-C)!(i-j+A)!(i-j+B)!(i-j+C)!}\\ \end{align} \]

容易发现这是一个卷积式!

构造两个多项式卷起来即可。

时间复杂度:\(O(n\log n)\)

空间复杂度:\(O(n)\)

标签:cdot,sum,相遇,ABC289H,binom,bigg
From: https://www.cnblogs.com/hellojim/p/17129735.html

相关文章