多項式取模 模板

2021-08-15 21:57:46 字數 1135 閱讀 1892

最近想寫一下多項式取模的模板,然而找不到模板題。於是上網找了個高精度除法題,寫完之後才發現高精度除法和多項式取模是不一樣的qaq。前者要求不能出現負數,為此某些位置可以暫時為0,將餘數拉到後面;而多項式取模則要求最高項一定要剩餘0。

於是我把程式隨便改了改,先扔在這兒,以後備忘。我寫的是實數(fft)的版本(其實我並不知道實數版本的多項式取模到底有什麼用)。

另外我還不知道有沒有寫錯,過了幾組手造的小資料就不管了……

code:

#include

#include

#include

#include

#include

#include

#include

#include

using

namespace

std;

const

int maxn=1000000;

const

double pi=acos(-1.0);

struct complex

} ;complex operator+(complex a,complex b)

complex operator-(complex a,complex b)

complex operator*(complex a,complex b)

complex a[maxn];

complex b[maxn];

int rev[maxn];

int n,lg;

double f[maxn];

int g[maxn];

double ans[maxn];

double mod[maxn];

char s[maxn];

int h[maxn];

int ln,lm;

void dft(complex *a,double f)

dft(a,1.0);

dft(b,1.0);

if (rev) for (int i=0; ifor (int i=0; i1.0);

for (int i=0; idouble)n;

}void poly_rev(int m)

}int main()

多項式除法 取模

除法 取模 設 n 次多項式 f x 和 m 次多項式 g x 求 n m 次多項式 q x 和 m 1 次多項式 r x 滿足 f x g x q x r x 於是我們有 f frac g frac q frac r frac 兩遍同乘 x n x nf frac x mg frac x q fr...

Re 多項式除法 取模

emmm又是暫無 多項式求逆 還是跟之前一樣顧名思義 給定乙個多項式f x 請求出多項式q x 和r x 滿足f x q x g x r x r項數小於g,係數對998244353取模。先考慮乙個多項式的反轉操作 就是乙個多項式係數前後調換 定義這個反轉的操作下標加個 r 顯然fr x xnf 1 ...

多項式模板

檢查資料 input 61 2 3 4 5 6 1.ntt多項式求逆 include define maxn 2100005 define ll long long define mod 998244353 using namespace std int lg maxn r maxn w maxn ...