标签:begin frac 题解 矩阵 bmatrix end binom LOJ6386
对于 \(\sum_{i=0}^{n}f(i)\) 的这种问题但是 \(f(i)\) 不是多项式函数且 \(n\) 很大时可以考虑一个用矩阵做的 DP:
\[\begin{bmatrix}\binom{n}{m}\\\sum_{i=0}^{m}\binom{n}{i}\end{bmatrix}=\begin{bmatrix}\frac{n-m+1}{m}&0\\\frac{n-m+1}{m}&1\end{bmatrix}\begin{bmatrix}\binom{n}{m-1}\\\sum_{i=0}^{m-1}\binom{n}{i}\end{bmatrix} \]考虑这个矩阵的乘法:
\[\begin{bmatrix}a_1&0\\a_2&1\end{bmatrix}\begin{bmatrix}b_1&0\\b_2&1\end{bmatrix}=\begin{bmatrix}a_1b_1&0\\a_2b_1+b_2&1\end{bmatrix} \]我们设这个矩阵是:
\[\begin{bmatrix}\frac{G(x)}{F(x)}&0\\\frac{H(x)}{F(x)}&1\end{bmatrix} \]那么上述矩阵运算可以被改写为:
\[F_3(x)=F_1(x)F_2(x) \]\[G_3(x)=G_1(x)G_2(x) \]\[H_3(x)=G_1(x)H_2(x)+H_1(x)F_2(x) \]为什么和上面是反的是因为这个矩阵乘法是左乘。
使用类似 快速阶乘算法 和 快速调和级数求和 那样的倍增就好了。。。复杂度 \(O(\sqrt{n}\log n)\),常数可能有亿点大。
标签:begin,frac,题解,矩阵,bmatrix,end,binom,LOJ6386 来源: https://www.cnblogs.com/lmpp/p/16433334.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。