![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
模板程序
海枯石烂1
这个作者很懒,什么都没留下…
展开
-
线性筛素数
#include using namespace std;#define maxN 50010#define F(i,j,n) for (int i=j; i<=n; i++)int n;int check[maxN],p[maxN];int tot;void prime(int n){ tot=0; F(i,2,n) { if (!check[i]) p[++tot]原创 2017-08-16 19:31:28 · 116 阅读 · 0 评论 -
AC自动机
#include #include #include using namespace std;const int N=26;const int maxN=50005;struct Trie{ int fail[maxN],nxt[maxN][N],end[maxN]; int root,tot; int new_node() { for (int i=0; i<N; i++原创 2017-08-15 21:49:12 · 133 阅读 · 0 评论 -
后缀数组
#include#include#include#include#include#define F(i,j,n) for(int i=j;i<=n;i++)#define D(i,j,n) for(int i=j;i>=n;i--)#define ll long long#define ull unsigned long long#define maxn 600005#defi原创 2017-08-15 20:12:55 · 123 阅读 · 0 评论 -
树链剖分
#include #include #include using namespace std;#define maxN 400010#define ll long long#define F(i,j,n) for (int i=j; i<=n; i++)struct Tnode{ int v,nxt;}edge[maxN];int dep[maxN],fa[maxN],sz[m原创 2017-08-20 08:07:44 · 132 阅读 · 0 评论 -
读入优化
#includeusing namespace std;int read(){ char ch='.'; int re=0; while (ch'9') ch=getchar(); while (ch>='0'&&ch<='9') { re=re*10+ch-'0'; ch=getchar(); } return re;}int main(){ printf原创 2017-08-17 11:15:51 · 169 阅读 · 0 评论 -
RMQ
#include #include #include using namespace std;#define maxN 1000010#define maxM 20#define F(i,j,n) for (int i=j; i<=n; i++)int Max[maxN][maxM],Min[maxN][maxM],Log2[maxN];int n,m;int a[maxN];原创 2017-08-15 18:59:15 · 128 阅读 · 0 评论 -
强连通分量
#include #include #include #include #define maxN 600010using namespace std;stack sta;struct Tnode{ int nxt,v;}edge[maxN];int first[maxN]; int dfn[maxN],low[maxN],vis[maxN],instack[maxN],原创 2017-08-15 20:22:31 · 134 阅读 · 0 评论 -
manacher回文串算法
#include #include #include #include using namespace std;char c[310010],s[310010];int p[310010];int main(){ freopen("manacher.in","r",stdin); freopen("manacher.out","w",stdout); scanf("%s",原创 2017-08-15 20:19:36 · 128 阅读 · 0 评论 -
整体二分
#include #include #include using namespace std;const int maxN=300010;struct Tnode{int l,r,c;}p[maxN];vector e[maxN];long long tree[maxN];struct Tpoint{long long x;int y;原创 2017-08-15 20:14:13 · 127 阅读 · 0 评论