博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
BZOJ 3527: [Zjoi2014]力 [快速傅里叶变换]
阅读量:4355 次
发布时间:2019-06-07

本文共 1417 字,大约阅读时间需要 4 分钟。

 

给出n个数qi,给出Fj的定义如下:
令Ei=Fi/qi,求Ei.
 

 

找到一个很详细的题解:http://blog.csdn.net/qq_33929112/article/details/54590319花了两个小时来理解和写,1个小时查卡精度,又花了1个小时改模板卡洛谷的时限以后都从0开始观察这个式子E=C-D就是两个卷积啊....其中一个函数是1/i^2规定1/0^2=0后,i=j也可以包括进来了 然后前面那个是卷积标准形式,后面那个和上一题的技巧是一样的更改求和指标然后把q反转再反转D
以前的推导

[update 2017-03-30]

新推♂倒了一下

写出E的表达式,定义$\frac{1}{0^2}=0$前半部分裸卷积,后半部分反转一个向量,又是裸卷积...

 

注意:

傻逼题卡精度1/i/i才行

 

#include 
#include
#include
#include
#include
using namespace std;typedef long long ll;const int N=(1<<18)+5, INF=1e9;const double PI=acos(-1);inline int read(){ char c=getchar();int x=0,f=1; while(c<'0'||c>'9'){
if(c=='-')f=-1;c=getchar();} while(c>='0'&&c<='9'){x=x*10+c-'0';c=getchar();} return x*f;}struct meow{ double x, y; meow(double a=0, double b=0):x(a), y(b){}};meow operator +(meow a, meow b) {
return meow(a.x+b.x, a.y+b.y);}meow operator -(meow a, meow b) {
return meow(a.x-b.x, a.y-b.y);}meow operator *(meow a, meow b) {
return meow(a.x*b.x-a.y*b.y, a.x*b.y+a.y*b.x);}meow conj(meow a) {
return meow(a.x, -a.y);}typedef meow cd;struct FFT{ int n, rev[N]; void ini(int lim) { n=1; int k=0; while(n
>1; cd wn = meow(cos(2*PI/l), flag*sin(2*PI/l)); for(cd *p=a; p!=a+n; p+=l) { cd w(1, 0); for(int k=0; k

 

转载于:https://www.cnblogs.com/candy99/p/6389298.html

你可能感兴趣的文章
使用MVCPager做AJAX分页所走的弯路
查看>>
VBA:Google翻译(含tk算法)
查看>>
更改windows service的配置信息后,无须重启服务
查看>>
Eclipse 常用快捷键及使用技巧
查看>>
内存管理 re模块
查看>>
git 合并本地代码到分支
查看>>
C语言循环
查看>>
2017-12-15
查看>>
java Calendar类利用
查看>>
CSS的SVG学习
查看>>
This view is not constrained, it only has designtime positions, so it will jump to (0,0) unless you
查看>>
猴子偷桃
查看>>
一个字符串处理的小算法题
查看>>
使用GitHub作为Maven仓库并引用
查看>>
Layer visibility
查看>>
大道至简阅读笔记03
查看>>
正确开启Mockjs的三种姿势:入门参考(一)
查看>>
实验2
查看>>
sublime text 3安装Anaconda插件之后写python出现白框
查看>>
windows服务器详细安全设置
查看>>