标签:Binary frac 题解 sum sqrt GF CF438E 4G 常数
新手表示满脑子只有 \(DP\) ……
设一个憨批数组 \(s\) ,值只有 \(0/1\) 第 \(i\) 位表示 \(i\) 这个数字是否合法
首先找到 \(dp\) 方程: \(f_n=\sum{s_i\sum{f_{n-j-i}f_{j}}}\)
同时知道 \(f_0=1\)
嗯,看起来很好吃
然后我们设 \(f\) 的生成函数为 \(F(x)=\sum{f_ix^i}\)
设 \(s\) 的生成函数是 \(G(x)=\sum{s_ix^i}\)
我们规定常数项为 \(0\) ,因为原题中给定的合法数大于 \(0\) (\(\forall i,s_i>0\))
那么每一项就是
然后考虑化简,题解有人对直接求根表示质疑,我觉得他的证明非常好,值得学习
\[GF=F^2G^2+G \]\[0=F^2G^2-GF+G \]\[0=(FG+\frac{1}{2})^2-\frac{1}{4}+G \]\[\frac{1}{4}-G=(GF-\frac{1}{2})^2 \]\[1-4G=4(GF-\frac{1}{2}) \]然后因为左式的常数项不是 \(0\) 了,我们可以开根
\[-\sqrt[2]{1-4G}=2(GF-\frac{1}{2}) \]考虑到我们还有个 \(GF\) ,这个小家伙的常数项必为 \(0\) (\(GF_0=G_0*F_0\))
如果我们选择了正,那么左式的常数项就不为 \(0\) 所以我们必须得选择取负
初一数学,上下同乘 \(1+\sqrt[2]{1-4G}\) ,于是原式就被化简成了
\[F=\frac{2}{1+\sqrt[2]{1-4G}} \]是的是的我跳步了
然后让我们冲!
标签:Binary,frac,题解,sum,sqrt,GF,CF438E,4G,常数 来源: https://www.cnblogs.com/caijiLYC/p/14477037.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。