图论
文章平均质量分 69
信息竞赛图论
蒟蒻Lucas
这个作者很懒,什么都没留下…
展开
-
二分图相关
二分图相关原创 2022-09-17 10:41:55 · 214 阅读 · 0 评论 -
倍增求最近公共祖先(LCA)
倍增求LCA原创 2022-09-07 08:35:32 · 240 阅读 · 1 评论 -
树相关——树链剖分(轻重链剖分)
树链剖分(轻重链剖分)原创 2022-09-04 23:17:35 · 379 阅读 · 0 评论 -
网络流——最小割
最小割原创 2022-08-27 22:39:12 · 836 阅读 · 0 评论 -
网络流——Dinic算法求最大流
Dinic算法求最大流原创 2022-08-27 21:31:09 · 490 阅读 · 0 评论 -
网络流——EK算法求最大流
EK算法求最大流原创 2022-08-27 15:06:08 · 223 阅读 · 0 评论 -
Tarjan与有向图连通性
Tarjan与有向图连通性(强连通)原创 2022-08-19 09:06:44 · 143 阅读 · 0 评论 -
无向图欧拉路径问题
无向图的欧拉路径原创 2022-08-15 16:51:44 · 1122 阅读 · 0 评论 -
负环与差分约束
负环与差分约束原创 2022-08-14 16:22:43 · 213 阅读 · 0 评论 -
tarjan算法——关于无向图连通性
强大的tarjan算法原创 2022-06-25 17:16:14 · 612 阅读 · 0 评论 -
树形结构——树的直径
树形结构——树的直径原创 2022-06-25 14:41:25 · 296 阅读 · 0 评论 -
生成树进阶——严格次小生成树
严格次小生成树原创 2022-06-25 10:58:34 · 256 阅读 · 0 评论 -
Kruskal算法与Prim算法求最小生成树
kruskal算法求最小生成树#include<bits/stdc++.h>#define Maxn 200010using namespace std;struct node{ int u,v,c;}edge[Maxn];int n,m,father[5001];inline int read(){ int x=0;char c=getchar(); while(c<'0'||c>'9')c=getchar(); while(c>='0' and原创 2022-03-26 08:30:52 · 293 阅读 · 0 评论 -
多源最短路径——Floyd算法
一.Floyd算法 传送门:医院设置#include<bits/stdc++.h>#define M 101using namespace std;int n,w[M],u[M],v[M],dp[M][M];int main(){ scanf("%d",&n); memset(dp,0x3f,sizeof(dp)); for(int i=1;i<=n;i++){ scanf("%d%d%d",&w[i],&u[i],&v[i原创 2022-04-02 21:49:40 · 846 阅读 · 0 评论 -
单源最短路径——Dj算法和SPFA算法
一.Dijkstrar 算法(不能用于负权边)#include<bits/stdc++.h>#define M int(5e5+1)using namespace std;int n,m,s,u,v,w,tot;int first[M],to[M],value[M],nex[M],dis[M];bool vis[M];priority_queue<pair<int,int> >q;void add(int x,int y,int z){ nex[原创 2022-04-01 17:52:44 · 422 阅读 · 0 评论 -
spfa算法求负环
传送门:P3305[模板]负环 负环的定义是:一条边权之和为负数的回路。 一个含有负环的图是一定没有最短路的,因为一旦有负环则在求最短路的时候回陷在负环中而无法自拔。 所以,若图中没有负环,则最多经过n-1轮迭代后算法结束。若第n轮迭代仍有结点的最短路能被更新,则图中有负环。 所以我们用 cnt[x] 表示1到x的最短路包含的边数(该题要求以1作为源点),cnt[1]=0。每次用 dis[x]+w(x,y) 更新dis[y]时,也是cnt[x]+1更新 cnt[y]。此过程中若出现cnt[y]≥n,则原创 2022-06-18 11:50:43 · 316 阅读 · 1 评论