2021年5月21日

算法学习(24):最小割

摘要: 最小割 割 对于一个网络G=(V,E),割就是点的划分方式,将所有点划分为S和T=V-S两个集合。 割的容量 我们定义割(S,T)的容量c(S,T)表示所有的S到T的边的容量之和。 最小割 最小割就是求得一个割(S,T)使得割的容量c(S,T)最小。 最大流最小割定理 f(S,T)max = c(S 阅读全文

posted @ 2021-05-21 18:07 小星◎ 阅读(324) 评论(0) 推荐(0)

算法学习(23):最大流

摘要: 最大流 定义 我们有一张图,要求从源点流向汇点的最大流量(可以有很多条路到达汇点),就是我们的最大流问题。 EK算法 #define maxn 250 #define INF 0x3f3f3f3f struct Edge { int from, to, cap, flow; Edge(int u, 阅读全文

posted @ 2021-05-21 17:59 小星◎ 阅读(117) 评论(0) 推荐(0)

算法学习(22):最短路

摘要: 最短路 floyd for (k = 1; k <= n; k++) { for (i = 1; i <= n; i++) { for (j = 1; j <= n; j++) { f[k][i][j] = min(f[k - 1][i][j], f[k - 1][i][k] + f[k - 1][ 阅读全文

posted @ 2021-05-21 17:56 小星◎ 阅读(67) 评论(0) 推荐(0)

算法学习(21):最长回文串(马拉车算法)

摘要: 马拉车算法 模板 #include<iostream> #include<algorithm> #include<cstdio> #include<cstring> #include<cmath> #include<queue> #include<vector> using namespace st 阅读全文

posted @ 2021-05-21 17:12 小星◎ 阅读(67) 评论(0) 推荐(0)

算法学习(20):割点和桥

摘要: 割点 /* 洛谷 P3388 【模板】割点(割顶) */ #include <bits/stdc++.h> using namespace std; int n, m; // n:点数 m:边数 int num[100001], low[100001], inde, res; // num:记录每个 阅读全文

posted @ 2021-05-21 16:32 小星◎ 阅读(57) 评论(0) 推荐(0)

算法学习(19):强连通分量

摘要: 强连通分量 定义 强连通的定义是:有向图 G 强连通是指,G 中任意两个结点连通。 强连通分量(Strongly Connected Components,SCC)的定义是:极大的强连通子图。 Tarjan算法 int dfn[N], low[N], dfncnt, s[N], in_stack[N 阅读全文

posted @ 2021-05-21 16:29 小星◎ 阅读(447) 评论(0) 推荐(0)

导航