FFT多项式快速幂,对于x^num取模,顺便再模一个998244353

多项式快速幂
时间限制 : 60000 MS 空间限制 : 524288 KB

问题描述:

给一个n次多项式,求它的k次方。没关系,随手模一个998244353就行了。没关系,再随手模一个xm就行了。

输入格式:

第一行n,意义如上。
第二行n+1个数,a0,a1,…,an,分别是0,1,…,n次项系数。
第三行k,意义如上。
第四行m,意义如上。

输出格式

一行,b0,b1,…,bm-1,分别是0,1,…,m-1次项系数。

样例输入

1
1 1
5
2

样例输出

1 5

提示

样例解释:
(1+x)5
=1+5x+10x2+10x3+5x4+x5
≡1+5x (mod x2)

数据范围:
n,m<=100000
k<=1018

求逆元和exp的时候要使用牛顿迭代。
这里写图片描述

#include<iostream>
#include<cstdio>
#include<algorithm>
#include<cstdlib>
#include<cstring>
#include<complex>
#define ll long long
using namespace std;
template <typename T>
inline void _read(T& x){
    char t=getchar();bool sign=true;
    while(t<'0'||t>'9')
    {
  if(t=='-')sign=false;t=getchar();}
    for(x=0;t>='0'&&t<='9';t=getchar())x=x*10+t-'0';
    if(!sign)x=-x;
}
const int p=998244353;
const int g=3;

int mont(int x,int y){ 
    ll ANS=1; 
    
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值