博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
洛谷P4721 【模板】分治 FFT(分治FFT)
阅读量:6819 次
发布时间:2019-06-26

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

 

多项式求逆的解法看

我们考虑用分治

假设现在已经求出了$[l,mid]$的答案,要计算他们对$[mid+1,r]$的答案的影响

那么对右边部分的点$f_x$的影响就是$f_x+=\sum_{i=l}^{mid}f[i]g[x-i]$

发现右边那个东西可以用卷积快速计算

那么只要一边分治一边跑FFT统计贡献就行了

说是分治FFT实际上代码里写的是NTT……

而且分治FFT跑得好慢多项式求逆的速度是它的10倍啊……

1 //minamoto 2 #include
3 #include
4 #include
5 using namespace std; 6 #define swap(x,y) (x^=y,y^=x,x^=y) 7 #define mul(x,y) (1ll*x*y%P) 8 #define add(x,y) (x+y>=P?x+y-P:x+y) 9 #define dec(x,y) (x-y<0?x-y+P:x-y)10 using namespace std;11 #define getc() (p1==p2&&(p2=(p1=buf)+fread(buf,1,1<<21,stdin),p1==p2)?EOF:*p1++)12 char buf[1<<21],*p1=buf,*p2=buf;13 inline int read(){14 #define num ch-'0'15 char ch;bool flag=0;int res;16 while(!isdigit(ch=getc()))17 (ch=='-')&&(flag=true);18 for(res=num;isdigit(ch=getc());res=res*10+num);19 (flag)&&(res=-res);20 #undef num21 return res;22 }23 char sr[1<<21],z[20];int C=-1,Z;24 inline void Ot(){fwrite(sr,1,C+1,stdout),C=-1;}25 inline void print(int x){26 if(C>1<<20)Ot();if(x<0)sr[++C]=45,x=-x;27 while(z[++Z]=x%10+48,x/=10);28 while(sr[++C]=z[Z],--Z);sr[++C]=' ';29 }30 const int N=400005,P=998244353;31 inline int ksm(int a,int b){32 int res=1;33 while(b){34 if(b&1) res=mul(res,a);35 a=mul(a,a),b>>=1;36 }37 return res;38 }39 int n,r[N],g[N],f[N],A[N],B[N],O[N],limit,l;40 inline void init(int len){41 limit=1,l=0;42 while(limit
>1]>>1)|((i&1)<<(l-1));45 }46 void NTT(int *A,int type){47 for(int i=0;i
>1;CDQ(a,b,l,mid);68 init(r-l+1);69 for(int i=0;i

 

转载于:https://www.cnblogs.com/bztMinamoto/p/9749557.html

你可能感兴趣的文章
Window配置Redis环境和简单使用
查看>>
asp.net正则匹配嵌套Html标签
查看>>
mybatis表关联一对多
查看>>
Amazon RDS 上的 Microsoft SQL Server » 导入和导出 SQL Server 数据库
查看>>
微信小程序——时间戳的转换及调用
查看>>
【RS】Modeling User Exposure in Recommendation - 在推荐中建模用户的暴露程度
查看>>
Kibana5.6安装
查看>>
VS2013编译OpenSSL
查看>>
Java多线程-线程池ThreadPoolExecutor构造方法和规则
查看>>
Solr字段类型field type的定义
查看>>
项目微管理29 - 转正
查看>>
memset与malloc性能测试(转)
查看>>
spring boot拦截器WebMvcConfigurerAdapter,以及高版本的替换方案
查看>>
转 图解排序算法(三)之堆排序
查看>>
Cocos Creator 构建发布... APP ABI(选项)
查看>>
【论文笔记】CBAM: Convolutional Block Attention Module
查看>>
特征选择方法
查看>>
m_Orchestrate learning system---十四、数据表中字段命名规则
查看>>
使用maven命令安装jar包到本地仓库
查看>>
CentOS 7.5 安装KVM虚拟机(Linux)
查看>>