fft
1 #include2 #include3 #include4 #include5 #include6 #include7fft生成函式#define maxn 1000005
8using
namespace
std;
9 inline int
read()
15double pi=acos(-1.0
);16
struct
complex
19 complex operator +(const complex b) const
20 complex operator -(const complex b) const
21 complex operator *(const complex b) const
22}a[maxn],b[maxn];
23int
n,m;
24int limit=1
,l,pos[maxn];
25void fft(complex *a,int
tp) 36}
37}38return;39
}40intmain()
小a有ai個價值為ai的物品,小b有bi個價值為ai的物品,求用兩個組成價值為ci的方案數
生成函式可以解決上面的這個問題,構造兩個多項式,第x的ai次方項的係數表示價值為i的物品有多少個,對兩個人分別構造,乘在一起的多項式就代表所有的方案數。
定義p的原根為滿足gϕ
(p)≡
1(modp
)'>的整數g。
gϕ(
p)≡1
(modp)
'>ntt
1 #include2 #include3 #include4 #include5 #include6 #include7ntt多項式求逆#define maxn 4000001
8#define mod 998244353
9#define ll long long
10using
namespace
std;
11 inline int
read()
17ll a[maxn],b[maxn],pos[maxn];
18 ll n,m,limit=1,l,g=3;19
ll power(ll x,ll y)
25return
ans;26}
27void ntt(ll *a,int
tp) 39}
40}41if(tp==-1
) 45}46
intmain()
1 #include2 #include3 #include4 #include5 #include6 #include7多項式求逆#define ll long long
8#define mod 998244353
9#define maxn 1000000
10using
namespace
std;
11 inline int
read()
17 ll g=3,limit=1
,l,n;
18ll a[maxn],b[maxn],pos[maxn],c[maxn];
19ll power(ll x,ll y)
25return
ans;26}
27void ntt(ll *a,int
tp) 39}
40}41if(tp==-1
) 45}46
intd[maxn];
47void inv(int step,ll *a,ll *b)
49 inv((step+1)>>1
,a,b);
50 l=0,limit=1;51
while(limit<=(step<<1)) limit<<=1,l++;
52for(int i=0;i>1]>>1)|((i&1)<
));53
for(int i=0;ia[i];
54for(int i=step;i0
;55 ntt(c,1);ntt(b,1
);56
for(int i=0;imod;
57 ntt(b,-1
);58
for(int i=step;i0;59
}60intmain()
多項式開根
1view codevoid getsqr(ll *a,ll *b,ll len)
3 getsqr(a,b,(len+1)>>1
);4 memset(invb,0,sizeof
(invb));
5getinv(b,invb,len);
6 l=0,limit=1;7
while(limit<=(len<<1)) limit<<=1,l++;
8for(int i=0;i>1]>>1)|((i&1)<
));9
for(int i=0;ia[i];
10for(int i=len;i0
;11 ntt(invb,1);ntt(c,1);ntt(b,1
);12
for(int i=0;imod;}
13 ntt(b,-1
);14
for(int i=len;i0
;15 }
多項式求逆與多項式開根
閒著沒事幹研究些黑科技 霧 求 a x b x 1 mod x n 其中n為a x b x 的度的較大值 已知a x 求b x b x a x 1 mod x n 假設n 1,則b x a x 常數項在mod p 意義下的的逆元 假設n 1 已知 a x b x 1 mod x n 2 a x b ...
模板 多項式求逆
蒟蒻寫題解實在不易 多項式最高次數為度,多項式 a 的度記為 deg a 多項式取模的意義 將多項式 a 記作余式 a x q x b x r x 則 a x equiv r x mod b x 在有模數 mod 的情況下,f x g x equiv 1 mod x n 的具體情況 f x g x ...
P3803 FFT求多項式係數
傳送門 這是一道fft模板題,求多項式係數 對a和b的係數求乙個fft,轉換為點乘式後 o n 掃一遍直接算係數即可 對於多項式相加 begin,y right left x y right ldots left x y right y right left x y right ldots left...