![](https://img-blog.csdnimg.cn/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
模板
YuckXi
这个作者很懒,什么都没留下…
展开
-
后缀数组
#include<iostream>#include<cstring>#include<cstdio>#include<algorithm>#define N 1000010using namespace std;char s[N];int len;//--------begin--------struct SA { int r...原创 2019-04-27 09:19:20 · 98 阅读 · 0 评论 -
SPFA
#include<iostream>#include<vector>#include<queue>#include<cstring>using namespace std;#define N 100001struct Edge{ int y,w;};vector<Edge>l[N];queue<int&g...原创 2019-05-31 20:58:17 · 80 阅读 · 0 评论 -
Dijkstra
#include<iostream>#include<vector>#include<queue>#include<cstring>#include<cstdio>using namespace std;#define N 100001struct Edge{ int y,w;};struct Node{ ...原创 2019-05-31 20:59:05 · 680 阅读 · 0 评论 -
拓扑排序
#include<iostream>#include<queue>#include<vector>#include<cstring>using namespace std;int n,m,x,y,in[30001];priority_queue<int>q,*pq;queue<int>ans;vector&l...原创 2019-06-14 13:24:11 · 94 阅读 · 0 评论 -
链式前向星
#include<iostream>using namespace std;#define N 20001#define M 30001struct graph{ int tot,head[M]; struct edge{ int next; int to,dis; }ed[M]; void addEdge(int from,int to,int dis){...原创 2019-06-14 19:39:10 · 110 阅读 · 0 评论 -
最大流
#include<iostream>#include<cstring>#include<queue>using namespace std;#define N 50001#define M 500001int n,m,x,y,cap;struct dinic{ struct graph{ int tot,head[M];...原创 2019-06-14 21:40:00 · 103 阅读 · 0 评论 -
最小费用最大流
#include<iostream>#include<queue>#include<cstring>using namespace std;#define N 512#define inf 0x7fffffffint n,m,x,y,ca,c;struct maxFlowMinCost{ int cap[N][N],cost[N][N]; i...原创 2019-06-14 21:41:40 · 166 阅读 · 0 评论 -
缩点
#include<iostream>#include<vector>#include<stack>#include<cstring>#include<cstdio>using namespace std;#define N 100010vector<int>l[N],g[N];int n,m,x,y;int...原创 2019-06-10 13:10:28 · 108 阅读 · 0 评论 -
割点(割顶)
#include<iostream>#include<vector>#include<stack>#include<cstring>#include<cstdio>using namespace std;#define N 100010vector<int>l[N],g[N];int n,m,x,y;int...原创 2019-06-10 13:11:49 · 117 阅读 · 0 评论 -
最小生成树
#include<iostream>#include<algorithm>using namespace std;#define N 400010int n,m,x,y,w,tot,sum;struct Edge{ int x,y,w;}e[N];bool cmp(Edge a,Edge b){ return a.w<b.w;}st...原创 2019-05-31 20:57:39 · 106 阅读 · 0 评论 -
带权并查集
#include<iostream>#include<cmath>using namespace std;#define N 30001struct union_Find_Sets{ int fa[N],siz[N],dis[N]; int findFa(int v){ if(fa[v]!=v){ int f...原创 2019-05-28 18:16:30 · 110 阅读 · 0 评论 -
回文自动机
#include<iostream>#include<cstdio>#include<cstring>#include<string>using namespace std;#define sigma 26#define N 1000010int l1[N],l2[N];struct Palindromic_Tree{ in...原创 2019-04-27 09:21:40 · 78 阅读 · 0 评论 -
双端插入回文自动机
#include<iostream>#include<cstdio>#include<cstring>#include<string>using namespace std;#define sigma 26#define N 1000010int l1[N],l2[N];struct Palindromic_Tree{ in...原创 2019-04-27 09:23:00 · 320 阅读 · 0 评论 -
manacher
#include<cstdio>#include<cstring>#include<algorithm>#include<iostream>using namespace std;#define N 10000050int te,p[N+5];char s[N+5];#define EXP_CH '@'#define EXP_CH...原创 2019-04-27 09:24:13 · 94 阅读 · 0 评论 -
ST+SA求LCP
struct ST{ int dp[600010][51]; void get(int *s,int n){ for(int i=1;i<=n;i++){ dp[i][0]=s[i]; } for(int j=1;j<=(log(n)/l...原创 2019-05-11 07:45:53 · 375 阅读 · 0 评论 -
并查集
#include<iostream>using namespace std;#define N 20010int n,m,fa[N],x,y,op;int findFa(int v){return fa[v]==v?v:fa[v]=findFa(fa[v]);}void unionn(int v,int u){fa[v]=u;}int main(){ cin>&g...原创 2019-05-24 21:00:03 · 88 阅读 · 0 评论 -
树链剖分
#include<iostream>#include<cstdio>#include<cstring>#include<vector>using namespace std;namespace SLPF{ #define N 100001 int dep[N],fa[N],son[N],id[N],size[N],cost[N],to...原创 2019-05-13 13:52:40 · 83 阅读 · 0 评论 -
SAM
#include<iostream>#include<cstring>#include<vector>#include<cstdio>using namespace std;#define N 2000005char s[N];vector<int>l[N];int size[N];struct SAM{ #d...原创 2019-05-18 08:13:51 · 122 阅读 · 0 评论 -
tajan
#include<iostream>#include<vector>#include<stack>#include<cstring>#include<cstdio>using namespace std;#define N 100010vector<int>l[N];int n,m,x,y;int dfn[...原创 2019-06-05 13:08:27 · 122 阅读 · 0 评论 -
差分约束系统
#include<iostream>#include<cstring>#include<queue>using namespace std;#define N 1010#define M 100010struct graph{ int tot,head[M]; struct edge{ int next; int to,dis; }e...原创 2019-06-21 18:42:48 · 125 阅读 · 0 评论