又是 dirty works……(
首先有 DP f_n = s_n + \frac 1{\binom n3} \sum\limits_{i=1}^n (i-1)(n-i)(f_k + f_{n-k})
随便化一下可得 \binom n3 f_n = \binom n3 s_n + 2 \sum\limits_{i=1}^n (n-i-1)i f_i
写成生成函数的形式就是 \begin{aligned} F^{(3)}(x) &= S^{(3)}(x) + \frac{12}{(1-x)^2}F'(x) \\ (1-x)^3 F^{(3)} - 12(1-x)F' &= S^{(3)} \end{aligned}
我也不知道为什么定义算子
\theta F(x) = (1-x)F'(x)
(注意这里的定义和题解不一样)
然后可以发现 \begin{aligned} \theta^2 F &= (1-x)^2F'' - (1-x)F' \\ \theta^3 F &= (1-x)^3F^{(3)} - 3(1-x)^2F'' + (1-x)F' \end{aligned}
因此 \begin{aligned} (\theta^3+3\theta^2-10\theta)F &= S^{(3)} \\ \theta(\theta-2)(\theta+5)F &= (1-x)^3 S^{(3)} \end{aligned}
令 Q = (\theta + 5)F,P = (\theta - 2)Q,则有 \begin{cases} \theta P = (1-x)^3 S^{(3)} \\ (\theta - 2) Q = P \\ (\theta + 5) F = Q \end{cases}
提取系数得 \begin{cases} (n+1)p_{n+1} = np_n + \triangledown^3 s_{n+3} (n+3)^{\underline 3} \\ (n+1)q_{n+1} = (n+2) q_n + p_n \\ (n+1)f_n = (n-5)f_n + q_n \end{cases}
从第一条式子有 np_n = \triangledown^2 s_{n+2} (n+2)^{\underline 3}
再代入第二条式子,展开得 \frac{ q_{n+1} }{n+2} = \frac{q_{m+1}}{m+2} + \sum\limits_{i=m+3}^{n+1} \triangledown^2 s_i
再代入第三条式子,展开得 \binom n6 f_n = \binom{m+1}6 f_{m+1} + \frac{q_{m+1}}{m+2} \sum\limits_{i=m+2}^n \binom i6 + \sum\limits_{i=m+2}^n \binom i6 \sum\limits_{j=m+3}^i \triangledown^2 s_j
显然有 f_{m+1} = s_{m+1},f_{m+2} = s_{m+2}
然后 p_{m+1} = (m+2)f_{m+2}-(m-4)f_{m+1}
再一通乱算可以得到 f_n = s_n + \frac{12}{\binom n6} \sum\limits_{i=m+1}^{n-1} \frac{f_i}{(i+1)(i+2)}\left(\binom{n+1}7-\binom{i+2}7\right)
使用线段树维护即可。
代码:
1 |
|