题目:
给出 n 个数 q1,q2,…qn,定义
Fj = j−1∑i=1qi×qj(i−j)2 − n∑i=j+1qi×qj(i−j)2
Ei = Fiqi
对 1≤i≤n,求 Ei 的值。
题解:
Fj = j−1∑i=1qi×qj(i−j)2 − n∑i=j+1qi×qj(i−j)2
即求:
Ei=Fiqi=i∑j=1qj(i−j)2−n∑j=i+1qj(i−j)2
令 xi=1i2,则
Ei=i∑j=1qjxi−j−n∑j=i+1qjxj−i
再令 pi=qn−i+1,那么
Ei=i∑j=1qjxi−j−n∑j=i+1pn−jxj−i
此时式子的左侧和右侧都是卷积的形式
用 FFT 维护这个过程
将数列 qi,pi,xi 作为多项式 f,h,g 的系数
将他们用 FFT 乘起来,得到的 f×g,h×g 的系数做差,即 Ei。
本文作者:trsins
本文链接:https://www.cnblogs.com/trsins/p/15776605.html
版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步