Luogu6112

前言

大毒瘤题!

拿了最劣解 QAQ。

不过这么做确实简单得多。


思路

生成函数可以大力解方程得。

让我们快进到生成函数:

\[1-z-2z^2+2z^3+z^4-z^5-(1-z^2)\sqrt{1-2z-5z^2+4z^3+7z^4-6z^5-3z^6-4z^7}\over2z^2(1-2z^2+z^3+z^4+z^5) \]

注意到我们只用求单项;换言之,我们只用把分子前 \(n+2\) 项线性求出,以及 \(1\over1-2z^2+z^3+z^4+z^5\) 的前 \(n\) 项线性求出,答案就可以线性求出。

咋做 \(1\over1-2z^2+z^3+z^4+z^5\)

先捏软柿子。

即求 \(1-2z^2+z^3+z^4+z^5\) 的乘法逆。

考虑设为 \(f\)

\[(1-2z^2+z^3+z^4+z^5)f=1 \]

\[f_0=1 \]

\[f_n=2f_{n-2}-f_{n-3}-f_{n-4}-f_{n-5} (n>0) \]

然后就做好了。

咋做分子

其余部分比较平凡,我们考虑咋求 \(\sqrt{1-2z-5z^2+4z^3+7z^4-6z^5-3z^6-4z^7}\)

\(f=1-2z-5z^2+4z^3+7z^4-6z^5-3z^6-4z^7,g=f^\frac12\)

考虑对着 \(g\) 列出 ODE。

由于

\[g'=\frac12f'g^{-1} \]

\[g''=\frac12f''g^{-1}-\frac14(f')^2f^{-1}g^{-1} \]

于是

\[{g''\over g'}=f''(f')^{-1}-\frac12f'f^{-1} \]

\[(f'f)g''=(f''f-\frac12(f')^2)g' \]


然后你现在要干的事:

  • \(f',f''\)
  • \(ff'\)
  • \(f''f-\frac12(f')^2\)

显然手算这些非常反人类,于是你飞速的打开了一个数字帝国

先是导函数计算器,你飞快地敲入:

1-2*z-5*z^2+4*z^3+7*z^4-6*z^5-3*z^6-4*z^7

然后让它分别做 \(f',f''\),它马上返回:

-28*z^6-18*z^5-30*z^4+28*z^3+12*z^2-10*z-2
-168*z^5-90*z^4-120*z^3+84*z^2+24*z-10

接下来是表达式计算器

不一会,又返回:

112*z^13+156*z^12+342*z^11-110*z^10-190*z^9-306*z^8+188*z^7+420*z^6-108*z^5-200*z^4+46*z^3+42*z^2-6*z-2
280*z^12+360*z^11+756*z^10-368*z^9-540*z^8-120*z^7+512*z^6+504*z^5-96*z^4-272*z^3+60*z^2+24*z-12

于是就好了。


\(A=ff',B=f''f-\frac12(f')^2\)

\[g''A=g'B \]

考虑对应系数相等,有

\[\sum_k(n-k+2)(n-k+1)g_{n-k+2}A_k=\sum_k(n-k+1)g_{n-k+1}B_k \]

于是:

\[g_n={(\sum_k(n-k-1)g_{n-k-1}B_k)-(\sum_{k>0}(n-k)(n-k-1)g_{n-k}A_k)\over A_0n(n-1)} \]

算上边界 \(g_0=1,g_1=-1\),然后就做完了。

posted @ 2022-07-13 07:28  myee  阅读(35)  评论(0编辑  收藏  举报