题意

给你一个多项式 f(x) f ( x ) f(x)

设 g(x) g ( x ) g(x)满足

g(x)≡(1+ln(1+1exp(∫1f(x)√)))kmodxn g ( x ) ≡ ( 1 + ln ⁡ ( 1 + 1 exp ⁡ ( ∫ 1 f ( x ) ) ) ) k mod x n

g(x)\equiv(1+\ln(1+\frac1{\exp(\int\frac1{\sqrt{f(x)}})}))^k\mod x^n

求 g′(x) g ′ ( x ) g'(x)的前 n n n项系数," role="presentation" style="position: relative;">,,,对 998244353 998244353 998244353取模


《论偏题的危害》

我觉得他还可以来一个多项式取模和除法

这样就是”真”模板]了

直接按照题意模拟即可

注意最后输出的是 g(x) g ( x ) g(x)的导数

至于怎么模拟可以看我的多项式总结

#include<bits/stdc++.h>
#define fp(i,a,b) for(register int i=a,I=b+1;i<I;++i)
#define fd(i,a,b) for(register int i=a,I=b-1;i>I;--i)
#define go(u) for(register int i=fi[u],v=e[i].to;i;v=e[i=e[i].nx].to)
#define file(s) freopen(s".in","r",stdin),freopen(s".out","w",stdout)
template<class T>inline bool cmax(T&a,const T&b){return a<b?a=b,1:0;}
template<class T>inline bool cmin(T&a,const T&b){return a>b?a=b,1:0;}
using namespace std;
char ss[1<<17],*A=ss,*B=ss;
inline char gc(){return A==B&&(B=(A=ss)+fread(ss,1,1<<17,stdin),A==B)?-1:*A++;}
template<class T>inline void sd(T&x){char c;T y=1;while(c=gc(),(c<48||57<c)&&c!=-1)if(c==45)y=-1;x=c-48;while(c=gc(),47<c&&c<58)x=x*10+c-48;x*=y;
}
char sr[1<<21],z[20];int C=-1,Z;
inline void Ot(){fwrite(sr,1,C+1,stdout),C=-1;}
template<class T>inline void we(T x){if(C>1<<20)Ot();if(x<0)sr[++C]=45,x=-x;while(z[++Z]=x%10+48,x/=10);while(sr[++C]=z[Z],--Z);sr[++C]=' ';
}
const int N=3e5+5,P=998244353,inv2=499122177,G=3;
typedef int arr[N];
typedef unsigned long long ll;
int n,pw,K;arr a,b,c,d,e,wn,inv,pos;
inline int pls(int a,int b){return a+=b,a<P?a:a-P;}
inline int sub(int a,int b){return a-=b,a<0?a+P:a;}
inline int fpm(int a,int b){int x=1;for(;b;b>>=1,a=(ll)a*a%P)if(b&1)x=(ll)x*a%P;return x;}
inline void init(){for(int i=0;i<K;++i)pos[i]=(i&1)?((pos[i>>1]>>1)^(K>>1)):(pos[i>>1]>>1);register int L=K>>1;wn[L]=1;wn[L+1]=fpm(G,(P-1)/K);fp(i,2,L-1)wn[L+i]=(ll)wn[L+i-1]*wn[L+1]%P;fd(i,L-1,1)wn[i]=wn[i<<1];
}
inline void dft(int*a,int ty=1){fp(i,0,K-1)(i<pos[i])&&(swap(a[i],a[pos[i]]),0);for(int i=2;i<=K;i<<=1){const register int d=i>>1,*w=wn+d;int o;for(register int*x=a,*y=x+d;x!=a+K;x+=i,y+=i)fp(k,0,d-1)o=(ll)y[k]*w[k]%P,y[k]=sub(x[k],o),x[k]=pls(x[k],o);}if(ty^1){reverse(a+1,a+K);const int inv=fpm(K,P-2);fp(i,0,K-1)a[i]=(ll)a[i]*inv%P;}
}
inline void Mul(int*a,int*b){dft(a),dft(b);fp(i,0,K-1)a[i]=(ll)a[i]*b[i]%P;dft(a,-1);}
void Inv(int*a,int*b,int L){if(L==1)return b[0]=fpm(a[0],P-2),void();Inv(a,b,L>>1);K=L<<1;init();fp(i,0,L-1)c[i]=a[i];fp(i,L,K-1)c[i]=0;fp(i,(L>>1),K-1)b[i]=0; dft(b),dft(c);fp(i,0,K-1)b[i]=(ll)b[i]*sub(2,(ll)b[i]*c[i]%P)%P;dft(b,-1);fp(i,L,K-1)b[i]=0;
}
void Sqrt(int*a,int*b,int L){if(L==1)return b[0]=sqrt(a[0]),void();Sqrt(a,b,L>>1);Inv(b,d,L);K=L<<1;init();fp(i,0,L-1)e[i]=a[i];fp(i,L,K-1)e[i]=0;Mul(e,d);fp(i,L,K-1)b[i]=0;fp(i,0,L-1)b[i]=pls((ll)b[i]*inv2%P,(ll)e[i]*inv2%P);
}
inline void Ln(int*a,int*b,int L){Inv(a,d,L);K=L<<1;init();fp(i,0,L-2)b[i]=(ll)a[i+1]*(i+1)%P;fp(i,L-1,K-1)b[i]=0;Mul(b,d);fd(i,L-1,1)b[i]=(ll)b[i-1]*inv[i]%P;fp(i,L,K-1)b[i]=0;b[0]=0;
}
void Exp(int*a,int*b,int L){if(L==1)return b[0]=exp(a[0]),void();Exp(a,b,L>>1);Ln(b,e,L);K=L<<1;init();fp(i,0,L-1)e[i]=sub(a[i],e[i]);++e[0];fp(i,L,K-1)e[i]=b[i]=0;Mul(b,e);fp(i,L,K-1)b[i]=0;
}
int main(){#ifndef ONLINE_JUDGEfile("polynomial");#endifsd(n);sd(pw);fp(i,0,n-1)sd(a[i]);wn[0]=inv[1]=1;fp(i,2,n)inv[i]=(ll)(P-P/i)*inv[P%i]%P;int L=1;while(L<n)L<<=1;Sqrt(a,b,L);Inv(b,a,L);fd(i,n-1,1)a[i]=(ll)a[i-1]*inv[i]%P;a[0]=0;Exp(a,b,L);Inv(b,a,L);++a[0];Ln(a,b,L);++b[0];Ln(b,a,L);fp(i,0,n-1)a[i]=(ll)a[i]*pw%P;Exp(a,b,L);fp(i,0,n-1)b[i]=(ll)b[i+1]*(i+1)%P;b[n-1]=0;fp(i,0,n-1)we(b[i]);
return Ot(),0;
}

[HZOI2015]帕秋莉的超级多项式相关推荐

  1. [COGS2189][HZOI 2015]帕秋莉的超级多项式-NTT-多项式求逆-多项式求ln-多项式开方-多项式求exp-多项式快速幂

    帕秋莉的超级多项式 [题目描述] 在幻想乡,帕秋莉·诺蕾姬(パチュリー·ノーレッジ)是以宅在图书馆闻名的魔法使. 其语文,数学,英语,物理,化学,生物,政治,历史,地理,哲♂学,无所不通晓. 今天,她 ...

  2. 【HZOI2015】帕秋莉的超级多项式

    题面 题目分析 超级模板题: 多项式乘法 多项式求逆 多项式开根 多项式求导 多项式求积分 多项式求对数 多项式求自然对数为底的指数函数 多项式快速幂 代码实现 #include<iostrea ...

  3. codevs 1376 帕秋莉•诺蕾姬

    codevs 1376 帕秋莉•诺蕾姬 题目描述 Description 在幻想乡,帕秋莉•诺蕾姬是以宅在图书馆闻名的魔法使.这一天帕秋莉又在考虑如何加 强魔法咒语的威力.帕秋莉的魔法咒语是一个仅有大 ...

  4. 帕秋莉·诺蕾姬 (Standard IO)

    Description 在幻想乡,帕秋莉·诺蕾姬是以宅在图书馆闻名的魔法使.这一天帕秋莉又在考虑如何加强魔法咒语的威力.帕秋莉的魔法咒语是一个仅有大写字母组成的字符串,我们考虑从'A'到'Z'分别表示 ...

  5. 2554. 【NOIP2011模拟9.7】帕秋莉·诺蕾姬 (Standard IO)

    2554. [NOIP2011模拟9.7]帕秋莉·诺蕾姬 (Standard IO) Description 在幻想乡,帕秋莉·诺蕾姬是以宅在图书馆闻名的魔法使.这一天帕秋莉又在考虑如何加强魔法咒语的 ...

  6. cogs 998. [東方S2] 帕秋莉·诺蕾姬

    二次联通门 : cogs 998. [東方S2] 帕秋莉·诺蕾姬 交上去后发现自己没上榜 就想着加点黑科技 把循环展开一下 结果WA了.. 万恶的姆Q /*cogs 998. [東方S2] 帕秋莉·诺 ...

  7. 【codevs 1376】帕秋莉·诺蕾姬

    37大天使震撼来袭 新服火爆开启!!! 不动的大图书馆 题目描述 在幻想乡,帕秋莉•诺蕾姬是以宅在图书馆闻名的魔法使.这一天帕秋莉又在考虑如何加强魔法咒语的威力.帕秋莉的魔法咒语是一个仅有大写字母组成 ...

  8. 【CS 1376】帕秋莉•诺蕾姬(Hash)

    [东方人物出没]qwq,hash可以搞得题目,对于换位没搞清楚,搞得真头疼qwq 题目描述 Description 在幻想乡,帕秋莉•诺蕾姬是以宅在图书馆闻名的魔法使.这一天帕秋莉又在考虑如何加强魔法 ...

  9. JZOJ8.14(C组)帕秋莉·诺雷姬

    题目: 在幻想乡,帕秋莉·诺蕾姬是以宅在图书馆闻名的魔法使.这一天帕秋莉又在考虑如何加强魔法咒语的威力.帕秋莉的魔法咒语是一个仅有大写字母组成的字符串,我们考虑从'A'到'Z'分别表示0到25的数字, ...

最新文章

  1. JZOJ #4722 跳楼机 (最短路模型的完美转化)
  2. 也许这就是一种技术成就梦想的理解吧
  3. IMX6的相关音频结构体的定义
  4. 洛谷【p2817】 宋荣子的城堡
  5. ubuntu中的Jupyter Notebook更换浏览器需要输入密码
  6. Aroma's Search(暴力)
  7. 玩转ceph性能测试---对象存储(一)
  8. 【Linux】修改Linux操作系统字符集与Oracle数据库一致
  9. 在哪里学python-深圳学python人工智能培训去哪里
  10. Pandas系列(三)新增数据列
  11. PLC模糊控制之模糊化
  12. stm32固件库下载地址
  13. python 解析 google Chrome 浏览器历史浏览记录以及收藏夹数据
  14. 如何使用树莓派 连接千寻开发板开发高精度应用
  15. POJ-1392-Ouroboros Snake
  16. Go 切片(slice)使用
  17. 基于vue3+ts+scss的后台管理系统(一)
  18. emui系统就是鸿蒙吗,华为EMUI是不是鸿蒙系统
  19. 20201022-成信大-C语言程序设计-20201学期《C语言程序设计B》C-trainingExercises26
  20. Docker学习之路(三)Docker网络详解

热门文章

  1. obs自定义编码设置_通过7个步骤设置OBS进行实时编码
  2. 减半行情背后:矿业面临哪些新机遇?
  3. st的lis3dh与lis3dsh。一字之差。
  4. 程序员的简历该怎么写?
  5. Day26:Python基础编程(函数)能力训练50天——判断求星期
  6. linux安装nginxdocker安装nginx
  7. level set 介绍3
  8. 学习网-更新中(FPGA-图像处理-机器视觉)
  9. i5 8350u和i58250u的区别
  10. 西北农林科技大学与陕西师范大学计算机,陕西西安的两所双大学,陕西师范大学和西北大学怎么选择?...