博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Luogu4726 【模板】多项式指数函数(NTT+多项式求逆)
阅读量:4569 次
发布时间:2019-06-08

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

  https://www.cnblogs.com/HocRiser/p/8207295.html 安利!

#include
#include
#include
#include
#include
#include
using namespace std;#define ll long long#define P 998244353#define N 550000char getc(){char c=getchar();while ((c<'A'||c>'Z')&&(c<'a'||c>'z')&&(c<'0'||c>'9')) c=getchar();return c;}int gcd(int n,int m){return m==0?n:gcd(m,n%m);}int read(){ int x=0,f=1;char c=getchar(); while (c<'0'||c>'9') {if (c=='-') f=-1;c=getchar();} while (c>='0'&&c<='9') x=(x<<1)+(x<<3)+(c^48),c=getchar(); return x*f;}int n,a[N],r[N],b[N],c[N],d[N],A[N],B[N],t;int ksm(int a,int k){ int s=1; for (;k;k>>=1,a=1ll*a*a%P) if (k&1) s=1ll*s*a%P; return s;}int inv(int a){return ksm(a,P-2);}void DFT(int n,int *a,int g){ for (int i=0;i
>1]>>1)|(i&1)*(n>>1); for (int i=0;i
>1);k++,w=1ll*w*wn%P) { int x=a[k],y=1ll*w*a[k+(i>>1)]%P; a[k]=(x+y)%P,a[k+(i>>1)]=(x-y+P)%P; } } }}void IDFT(int *a,int n){ DFT(n,a,inv(3)); int u=inv(n); for (int i=0;i
>1); for (int i=0;i
>=1; for (int i=n;i<(n<<1);i++) b[i]=0;}void trans(int *a,int *b,int n){for (int i=0;i
>1); Inv(a,b,t>>1); mul(c,b,t); dx(c,a,t);}void Exp(int *a,int *b,int n) { if (n==1) {b[0]=1;return;} Exp(a,b,n>>1); for (int i=0;i<(n>>1);i++) B[i]=b[i]; for (int i=(n>>1);i

 

  

 

转载于:https://www.cnblogs.com/Gloid/p/10386591.html

你可能感兴趣的文章
IDEA快捷操作
查看>>
android 的touch event分析
查看>>
转:C#进阶系列——WebApi 跨域问题解决方案:CORS
查看>>
实参和形参
查看>>
利用GPGPU计算大规模群落仿真行为
查看>>
BZOJ 3211: 花神游历各国【线段树区间开方问题】
查看>>
C语言sprintf和sscanf函数用法
查看>>
javascript 基础
查看>>
WAV文件格式
查看>>
WPF stringformat设置
查看>>
阻止vue事件冒泡的方法
查看>>
第十七周进度总结
查看>>
javascript面向对象基础
查看>>
利用iscroll实现上拉加载下拉刷新
查看>>
C# 中的委托和事件
查看>>
用户控件 RadioButtonList
查看>>
汇编语言描述
查看>>
由java双亲模式委派模式引起的思考——Java类加载原理解析
查看>>
java编程调试技巧
查看>>
java中如何实现一个函数返回多个值
查看>>