luogu4238 【模板】多项式求逆

ref

#include 
#include 
using namespace std;
typedef long long ll;
int n, a[270005], b[270005], c[270005], rev[270005];
const int mod=998244353, gg=3, gi=332748118;
int ksm(int a, int b){
    int re=1;
    while(b){
        if(b&1) re = (ll)re * a % mod;
        a = (ll)a * a % mod;
        b >>= 1;
    }
    return re;
}
void ntt(int a[], int lim, int opt){
    for(int i=0; i>1, wn=ksm(opt==1?gg:gi, (mod-1)/i);
        for(int j=0; j>1, a, b);
    int lim=1, limcnt=0;
    while(lim<=d+d) lim <<= 1, limcnt++;
    for(int i=0; i>1]>>1) | ((i&1)<<(limcnt-1));
    for(int i=0; i>n;
    for(int i=0; i

转载于:https://www.cnblogs.com/poorpool/p/9151728.html

你可能感兴趣的:(luogu4238 【模板】多项式求逆)