
模板
兔兔不会梦到ACM学长
这个作者很懒,什么都没留下…
展开
-
树链剖分模板
树链剖分#include<cstdio>#include<algorithm>using namespace std;const int M=40005;int n,m;struct edge{ int to,nxt,cost;}G[M<<1];int head[M],asdf;void add_edge(int a,int b,int c){ G[++asdf].to=b; G[asdf].nxt=head[a]; G[asdf].cost=c原创 2020-12-07 20:11:07 · 161 阅读 · 0 评论 -
树套树模板
树套树模板//对于权值大的先离散int root[M*200],Lt[M*200],Rt[M*200],sum[M*200],tot;void build(int &amp;rt,int L,int R) {//预处理建树 rt=++tot; sum[rt]=0; if(L==R)return; int mid=L+R&gt;&gt;1; buil...原创 2018-08-19 21:50:32 · 345 阅读 · 0 评论 -
欧拉回路模板
模板判欧拉回路for(int i=1;i<=n;i++){ if(du[i]&1)flag=0;//判度数 if(par[i]==i)cnt++;//并查集判联通}printf("%d\n",flag&&cnt==1);判欧拉路径//in:入度 out:出度for(int i=1;i<=n;i++){ ...原创 2018-08-19 21:51:18 · 217 阅读 · 0 评论 -
2-sat模板
这是个无比暴力的模板但是从来没有没卡过!!!判是否存在解流程:标记i并传递标记,直到结束或出现矛盾。bool mark[M];int stk[M],top;bool dfs(int x){ if(mark[x^1])return 0; if(mark[x])return 1; mark[x]=1; stk[++top]=x; ...原创 2018-08-19 21:54:50 · 256 阅读 · 0 评论 -
图联通模板(强连通,点双,边双)
图联通模板全集强连通模板void tarjan(int x) { dfn[x]=low[x]=++tot; stk[++top]=x; vis[x]=1;//入栈标记 for(int i=head[x]; i; i=G[i].nxt) { int y=G[i].to; if(!dfn[y]) { t...原创 2018-08-19 21:58:06 · 516 阅读 · 0 评论 -
二分图完美匹配模板
二分图完美匹配模板这里讲的都是最大权完美匹配。如果求最小权只需把边权改成负数即可dfs版(慢,代码简单)#include&amp;lt;bits/stdc++.h&amp;gt;using namespace std;const int M=405;int n,mat[M];long long Lx[M],Ly[M],A[M][M];long long slack;bool S...原创 2018-08-21 10:32:19 · 421 阅读 · 0 评论