分類:模板
fft
ntt
[uoj 34 多項式乘法]
給你兩個多項式,請輸出乘起來後的多項式。
第一行兩個整數
n 和
m,分別表示兩個多項式的次數。
第二行 n+
1 個整數,分別表示第乙個多項式的
0 到
n次項前的係數。
第三行 m+
1 個整數,分別表示第乙個多項式的
0 到
m次項前的係數。
模板測試題。給出fft和ntt的板子。
可以直接去[uoj statistics] 檢視更好的板子。
#include
using
namespace
std;
typedef
long
long ll;
typedef
long
double lb;
typedef pair pii;
typedef pairpll;
typedef
vector
vii;
const
int inf = 0x3f3f3f3f;
const ll infl = 0x3f3f3f3f3f3f3f3fll;
const
double eps = 1e-8;
const
double pi = acos(-1.0);
template
inline
bool scan_d (t &ret)
template
void print(t x)
template
void println(t x)
const
int maxn = 262144 + 5; /// 陣列大小應為2^k
//typedef complexcp;
struct cp
cp(double x, double y) : x(x), y(y) {}
inline
double real()
inline cp operator * (const cp& r) const
inline cp operator - (const cp& r) const
inline cp operator + (const cp& r) const
};cp a[maxn], b[maxn];
int r[maxn], res[maxn];
void fft_init(int nm, int k)
void fft(cp ax, int nm, int op) }}
if(op == -1) for(int i = 0; i < nm; ++i) ax[i].x /= nm;
}void trans(int ax, int bx, int n, int m)
int main()
/** ntt **/
#include
using
namespace
std;
typedef
long
long ll;
typedef
long
double lb;
typedef pair pii;
typedef pairpll;
typedef
vector
vii;
const
int inf = 0x3f3f3f3f;
const ll infl = 0x3f3f3f3f3f3f3f3fll;
const
double eps = 1e-8;
const
double pi = acos(-1.0);
template
inline
bool scan_d (t &ret)
template
void print(t x)
template
void println(t x)
const
int maxn = 262144 + 5; /// 陣列大小應為2^k
const
int g = 3, mod = 998244353;
int a[maxn], b[maxn], r[maxn], res[maxn];
template
t quick_pow(t a, t b)
return ret;
}void ntt_init(int nm, int k)
template
void ntt(t ax, int nm, int op) }}
if(op == -1)
}template
void trans(t ax, t bx, int n, int m)
int main()
UOJ 34 多項式乘法
快速傅利葉變換 關於fft網上的教材不多,而且大多與演算法問題關係不大。強烈推薦乙個。這個講得真的很不錯 從多項式乘法到快速傅利葉變換 本弱數學知識不夠多,複數 單位根之類的知識都是下午臨時補的。從下午開始看fft,看到晚上,總算大概是把遞迴版fft的思路看懂了吧。迭代版的還沒看懂。有空慢慢鑽研 u...
UOJ 34 多項式乘法
統計這是一道模板題。給你兩個多項式,請輸出乘起來後的多項式。第一行兩個整數 n n 和 mm 分別表示兩個多項式的次數。第二行 n 1 n 1 個整數,分別表示第乙個多項式的 0 0 到 nn 次項前的係數。第三行 m 1 m 1 個整數,分別表示第乙個多項式的 0 0 到 mm 次項前的係數。一行...
UOJ 34 多項式乘法
fft模板 迭代的還沒會 先寫了個遞迴的 define的pi 我也是神了!少上一位就會wa 模板看的hzwer的 因為 pi較短 所以遞迴的跑的和迭代的一樣快 23333333 還差的幾點 1.acos要用 2.complex要自己寫 yts1999大爺說會被卡 3.要改成迭代的 1 include...