Luogu4351 [CERC2015]Frightful Formula

https://www.luogu.com.cn/problem/P4351

参考blog

\(FFT\)

首先,计算\((i,j)\)\((n,n)\)的路径数

需要往下走\(n-i\)次,往右走\(n-j\)

如果把向下当做\(D\),向右当做\(R\)

相当于在\((n-i)+(n-j)\)个字符中选择\(n-i\)个作为\(D\),方案数为\({2n-i-j \choose n-i}\)

由于不能重复统计,\(a,b\)的贡献只能算第一行第一列(除去\((1,1)\)),\(c\)则需要计算每行每列

\[ans=\sum_{i=2}^n {2n-i-1 \choose n-i} a^{n-1} b^{n-i}+\sum_{i=2}^n {2n-i-1 \choose n-i} a^{n-i} b^{n-1}+\sum_{i=2}^n \sum_{j=2}^n {2n-i-j \choose n-i} c \]

\(\sum_{i=2}^n {2n-i-1 \choose n-i} a^{n-1} b^{n-i},\sum_{i=2}^n {2n-i-1 \choose n-i} a^{n-i} b^{n-1}\)可以\(O(n)\)解决

\[\sum_{i=2}^n \sum_{j=2}^n {2n-i-j \choose n-i} c=\\ \sum_{i=2}^n \sum_{j=2}^n c \frac{(2n-i-j)!}{(n-i)!(n-j)!} \]

\(f(n)=n!,g(n)=\frac{1}{n!}\)

\[\sum_{i=2}^n \sum_{j=2}^n c \frac{(2n-i-j)!}{(n-i)!(n-j)!}=\\ \sum_{i=2}^n \sum_{j=2}^n c f(2n-i-j)g(i)g(j)=\\ \sum_{s=0}^{2n} f(s) \sum_{i=0}^{n-2} g(i)g(s-i)\\ FFT! \]

posted @ 2020-08-02 20:15  GK0328  阅读(60)  评论(0编辑  收藏  举报