模板
符执安
这个作者很懒,什么都没留下…
展开
-
KMP模板
void pre(){ p[1] = 0; int j = 0; for (int i = 1; i < m; ++i) { while (j>0 && b[j+1]!=b[i+1]) j = p[j]; if (b[j+1] == b[i+1]) ++j; p[i+1] = j; }}int kmp(){ int ans = 0, j = 0; for (int i = 0; i < n; ++i) { while (j>0原创 2020-11-20 19:46:07 · 61 阅读 · 0 评论 -
快速傅里叶变换
多项式A(x)=a0+a1x+a2x2+⋅⋅⋅+an−1xn−1A(x)=a_{0}+a_{1}x+a_{2}x^{2}+\cdot \cdot \cdot +a_{n-1}x^{n-1}A(x)=a0+a1x+a2x2+⋅⋅⋅+an−1xn−1有两种表示法:系数表示法和点值表示法。因为系数最高项为 nnn 的多项式 A(x)A(x)A(x) 可以看成 nnn 个点组成的函数图像...原创 2019-08-07 23:43:55 · 290 阅读 · 4 评论 -
线段树模板
初始化struct Segtree{ int l, r; int dat;}t[N*4];void build(int p, int l, int r){ t[p].l = l, t[p].r = r; if (l == r) { t[p].dat = a[l]; return; } int mid = (l + r) >> 1; build (p*...原创 2019-08-06 20:46:25 · 204 阅读 · 2 评论