题面
题目分析
超级模板题:
多项式乘法
多项式求逆
多项式开根
多项式求导
多项式求积分
多项式求对数
多项式求自然对数为底的指数函数
多项式快速幂
代码实现
#include#include #include #include #include #include #include #define MAXN 0x7ffffffftypedef long long LL;const int N=400005,mod=998244353;using namespace std;inline int Getint(){register int x=0,f=1;register char ch=getchar();while(!isdigit(ch)){if(ch=='-')f=-1;ch=getchar();}while(isdigit(ch)){x=x*10+ch-'0';ch=getchar();}return x*f;}int ksm(int x,int k){ int ret=1; while(k){ if(k&1)ret=(LL)ret*x%mod; x=(LL)x*x%mod; k>>=1; } return ret;}void Der(int *f,int *g,int len){ for(int i=0;i >1]>>1)|((i&1)< >1),copy(f,f+len,A); int x=log2(len<<1),n=1< >1),g+n,0); NTT(A,x,1),NTT(g,x,1); for(int i=0;i >1),Inv(g,B,len); copy(f,f+len,A); int x=log2(len<<1),n=1< >1),g+n,0); NTT(A,x,1),NTT(B,x,1),NTT(g,x,1); for(int i=0;i >1); fill(A+len,A+n,0),fill(g+(len>>1),g+n,0); Ln(g,A,len); A[0]=(f[0]+1-A[0]+mod)%mod; for(int i=1;i