Solution

首先化简 Ej\sf E_jEj​ 得到

Ej=Fjqj=∑i=1j−1qi×qj(i−j)2−∑i=j+1nqi×qj(i−j)2qj\Large E_j = \dfrac{F_j}{q_j}=\dfrac{\sum_{i=1}^{j-1} \frac{q_i\times q_j}{(i - j)^2} - \sum_{i=j+1}^n \frac{q_i\times q_j}{(i - j)^2}}{q_j}Ej​=qj​Fj​​=qj​∑i=1j−1​(i−j)2qi​×qj​​−∑i=j+1n​(i−j)2qi​×qj​​​

假设 f1(x)=qx,f2(x)=1x2f1(x) = q_x, f2(x)=\frac{1}{x^2}f1(x)=qx​,f2(x)=x21​。

那么原始可以化简:Ej=∑i=1j−1qi×qj(i−j)2−∑i=j+1nqi×qj(i−j)2=∑i=1j−1(f1(i)−f2(i−j))−∑i=j+1n(f1(i)−f2(j−i))\Large E_j = \sum_{i=1}^{j-1}\frac{q_i\times q_j}{(i-j)^2}-\sum_{i=j+1}^n\frac{q_i\times q_j}{(i-j)^2}=\sum_{i=1}^{j-1}(f1(i)-f2(i-j))-\sum_{i=j+1}^n (f1(i)-f2(j-i))Ej​=∑i=1j−1​(i−j)2qi​×qj​​−∑i=j+1n​(i−j)2qi​×qj​​=∑i=1j−1​(f1(i)−f2(i−j))−∑i=j+1n​(f1(i)−f2(j−i))

前半部分是一个卷积的形式。

后半部分考虑定义 f1f1f1 函数的反转是 ggg。

那么容易发现有 ∑i=0n−jg(n−j−i)∗f2(i)\sum_{i=0}^{n-j} g(n-j-i)*f2(i)∑i=0n−j​g(n−j−i)∗f2(i)。也是卷积的形式。

然后随便跑一个FFT就能过了。

洛谷 P3338【FFT】相关推荐

  1. 洛谷P5488 | FFT+生成函数+二项式定理

    前言 因为最近在学习生成函数和多项式有关的内容,很多这方面的东西也不是很懂,所以很多地方可能讲得不好或者是不清楚还请读者们见谅. 那么关于这道题呢,它是我前段时间刚学生成函数时见过的题目.当时由于是刚 ...

  2. 洛谷 P3338线性筛质数

    洛谷 P3383线性筛质数 思路 一个亿的数据用埃氏筛法都过不去,只能用线性筛法: 另外就是一定要用scanf与printf,不然超时 Code #include<iostream> #i ...

  3. 洛谷P3338:力(FFT)

    传送门 解析 算是比较适合的FFT入门题了吧 一个重要的trick: 当函数无法表示成卷积时,可以把函数翻转过来 然后调一调就又是卷积了 一个重要的注意事项是FFT的lim一定是两多项式相乘结果多项式 ...

  4. 洛谷P3803 fft模板

    概念: 先引入多项式的两个表示方法: 1.1.1.系数表示法,唯一确定一个nnn次的多项式需要每一项的系数,从低次项到高次项依次写成向量的形式,这个向量就能唯一确定一个多项式.即向量r=[a0,a1, ...

  5. 洛谷P3338 力

    题意: 解: 介绍两种方法. 首先可以把那个最后除的qi拆掉. ①分前后两部分处理. 前一部分可以看做是个卷积.下面的平方不拆开,直接看成gi-j即可. 后一部分按照套路,把循环变量改成从0开始,反转 ...

  6. 【洛谷P3338】力

    题目大意:求 \[ E_{j}=\sum_{i<j} \frac{q_{i}}{(i-j)^{2}}-\sum_{i>j} \frac{q_{i}}{(i-j)^{2}} \] 题解:可以 ...

  7. 洛谷 [P3338] 力

    FFT \[E_i = F_i / q_i = \sum_{i<j} \frac {q_j} {(i - j)^2} - \sum _{ i > j} \frac{q _ j} {(i - ...

  8. 洛谷P1919 【模板】A*B Problem升级版(FFT快速傅里叶)

    题目描述 给出两个n位10进制整数x和y,你需要计算x*y. 输入输出格式 输入格式: 第一行一个正整数n. 第二行描述一个位数为n的正整数x. 第三行描述一个位数为n的正整数y. 输出格式: 输出一 ...

  9. 洛谷 P1919 【模板】A*B Problem升级版 【快速傅里叶变换 FFT】

    [洛谷 P1919] [模板]A*B Problem升级版 题目大意 给你两个超大整数 a,ba,ba,b,问 a∗ba*ba∗b 其中 a,b≤101000000a,b\leq10^{1000000 ...

最新文章

  1. 产生0到1之间均匀分布的一个随机数原理与实现
  2. python统计并输出文件的行数_python实用统计文件行数 类似wc命令
  3. 用SHELL脚本来防SSH暴力破解
  4. 12、MyISAM存储引擎
  5. 15-07-10 结构体-输入学生成绩进行排序
  6. mysql full customer_mysql优化通常使用的几种方法
  7. Spark报错: IOException: Bad connect ack with firstBadlink as xxx:500010
  8. 【采访】腾讯社交广告高校算法大赛决赛第二周周冠军——nju_newbiew比赛经验及心得分享
  9. python1e2_Python必修基础(1)
  10. 交叉熵损失的来源、说明、求导与pytorch实现
  11. Ubuntu系统下载工具的推荐
  12. 多元统计分析基于r课后答案_(完整版)多元统计分析课后练习答案
  13. 蜂鸣器发声程序c语言,基于51单片机蜂鸣器发声的C语言程序
  14. 解决select2插件下拉搜索框,输入拼音能够匹配中文汉字的问题
  15. 浏览器设置阻止第三方Cookie保护自己隐私
  16. Python编写三角形
  17. 最全面贴片电阻知识,封装、尺寸、最大承受功率及选型统统包括-电子技术方案|电路图讲解
  18. Excel如何将一列数据转为一行
  19. 计算机相关英语生词积累
  20. 基于TensorRT 5.x的网络推理加速(python)

热门文章

  1. Apple 在中国的维修和保修政策
  2. ODOO15委外加工(外协)业财一体凭证生成方案
  3. EM现象出现的原因及解决办法
  4. python能制作游戏吗_python制作galgame引擎(一)
  5. idea出现Can not set int field xxx to java.lang.Float 错误
  6. html中3d哪个方向是x轴,浅谈css 3d与空间坐标轴
  7. 1815. 得到新鲜甜甜圈的最多组数 状态压缩
  8. Python-bs4库,find_all 函数处理css样式问题
  9. 【力扣周赛】第343场周赛
  10. 二进制数代码进制转换