
图论
二分图、生成树、割点割边、最短路、连通分量等
饮闲
写作是门孤独的手艺,意义却在于分享
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
最大流量问题——lingo求解
lingo求解最大流量问题 代码 极其希望优快云能加入lingo,MATLAB等建模语言的代码染色方式 model: sets: node/1..6/; road(node,node):w,a,f; endsets data: a= 0,1,1,0,0,0, 0,0,0,1,1,0, 0,0,0,1,1,0, 0,0,0,0,0,1, 0,0,0,0,0,1, 0,0,0,0,0,0; w= 0,3,4,0,0,0, 0,0,0,6,4,0, 0,0,0,5,3,0, 0,0,0,0,0,7, 0,0原创 2020-09-07 16:57:45 · 4661 阅读 · 0 评论 -
最小费用问题——lingo求解的三种常见解法
最小费用问题 方法一 系数矩阵0-1规划法 代码 由于没有lingo类型的代码涂色格式,我先给个截图,也许会看的清晰一些 model: sets: node/1..6/; road(node,node)/1,2,1,3,2,4,2,5,3,4,3,5,4,6,5,6/:w,f; endsets data: w=2,1,5,3,4,3,0,0; enddata n=@size(node); min=@sum(road(i,j):w(i,j)*f(i,j)); @for(node(i)|i#ne#1原创 2020-09-05 21:44:41 · 4408 阅读 · 0 评论 -
并查集的简单实现 代码模板
1 #include <iostream> 2 #include <cstdio> 3 4 using namespace std; 5 6 const int max_n = 1000; 7 8 int par[max_n]; 9 int ranks[max_n]; 10 11 void init(int n) 12 { 13 ...原创 2020-02-08 20:57:00 · 208 阅读 · 0 评论 -
简简单单的二分图的判定
1 #include <cstdio> 2 #include <iostream> 3 #include <cstring> 4 #include <vector> 5 6 using namespace std; 7 8 const int max_N = 1000+2; 9 10 // 图的邻接表 11 vec...原创 2020-02-14 22:26:00 · 285 阅读 · 0 评论 -
最小生成树的简单题
古老的最小生成树代码,可以当板子用(针对问题修改一下,不通用,原理一样)。 #include <iostream> #include <cstdio> #include <algorithm> using namespace std; int n; int a[51],b[51]; int w[51][51]; int main() { int n,m; scanf("%d",&n); for(int i=0;i<n;++i)原创 2020-08-27 21:04:51 · 322 阅读 · 3 评论 -
简单的稠密图求最小生成树
啊哈算法学习笔记,简单的稠密图求最小生成树问题 #include <cstdio> using namespace std; const int inf = 0x7fffffff; int n; int a[500][500]; int dis[500]; int prim() { int ans=0,cnt=0; int k,min_road; ++cnt; for(int i=0;i<n;++i) { dis[i]=a原创 2020-08-27 20:58:25 · 1538 阅读 · 0 评论 -
Hopcroft-Karp算法 poj-1469 COURSES
Hopcroft-karp算法 该算法由John.E.Hopcroft和Richard M.Karp于1973提出,故称Hopcroft-Karp算法。 使用情形 给定一个二分图,求其最大匹配。 原理简述 在增广匹配集时,每次寻找多条增广路径,以进一步减少时间复杂度。 步骤及示例演示 dx【】、dy【】 分别表示二分图左右不顶点的距离标号 mx【】、my【】 分别表示二分图左右部顶点的距离标号 1、我们每次从所有未匹配的左部节点开始BFS,进行距离标号。 2、对于每一个队列中的左部节点X,考虑与它相邻的所有原创 2020-08-16 17:17:12 · 734 阅读 · 0 评论 -
Tarjan算法 POJ2186
题目链接 点击这里 Tarjan算法 适用情形 有向图,求强连通分量。 此题中,以Tarjan算法为基础,求解并标记了相应的连通分量,并通过各连通分量出度的分析,找到相应的缩点,并根据缩点的个数,做出相应的处理。 原理简述 Tarjan算法基于对图的深度优先搜索算法,每个强连通分量,都是搜索树中的一颗子树,并在回溯时,判断是否为强连通分量。算法的实现过程,类似于基于后续的深度优先搜索与并查集的组合。 步骤 dfn【i】:记录节点i在深度优先搜索中的访问次序 low【i】:记录节点i可以到达的访问时间最早的祖原创 2020-08-15 16:07:20 · 310 阅读 · 0 评论 -
Antenna Placement poj 3020 二分图 最小覆盖
Antenna Placement poj 3020 Antenna Placement Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 12104 Accepted: 5954 Description The Global Aerial Research Centre has been allotted the tas...原创 2020-03-19 20:11:34 · 328 阅读 · 0 评论 -
Asteroids 二分图 最小覆盖
Asteroids Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 29547 Accepted: 15807 Description Bessie wants to navigate her spaceship through a dangerous asteroid field in the shape of an ...原创 2020-03-19 20:04:48 · 265 阅读 · 0 评论 -
12388. 图论割边
12388. 图论割边 n个顶点m条边,请求割边 输入格式: 第一行给定三个整数 n,m 。n 个城镇,m 条道路(双向道路)。接下来给出 m 行,每行两个正整数表示这两个城镇之间有边相连。 输出格式: 一个整数,有几条关键道路。 样例 1 : 输入: 6 6 1 3 1 4 2 3 2 4 2 5 5 6 输出: 2 说明: 2-5和5-6是桥 #include <cstdio> #...原创 2020-03-19 20:00:51 · 410 阅读 · 0 评论 -
12389. 割点
12389. 割点 n个顶点m条边,请求割点 输入格式: 第一行给定三个整数 n,m 。n 个城镇,m 条道路(双向道路)。接下来给出 m 行,每行两个正整数表示这两个城镇之间有边相连。 输出格式: 一个整数,有几个关键城市。 样例 1 : 输入: 9 11 1 2 2 3 1 3 3 5 4 3 5 6 4 6 6 8 6 7 7 8 8 9 输出: 3 说明: 3 6 8是关键城市 https...原创 2020-03-19 19:57:49 · 334 阅读 · 0 评论 -
12206. 电缆网络
12206. 电缆网络 电话线路公司(TLC)正在建立一个新的电话电缆网络。它们连接了n个位置。每个地方都有一个交换机。电缆是双向的,连接两个地方,电缆每一端都会连接到当地的交换机中。从每一个地方都可以通过电缆连接到其他地方(可以通过其他交换机到达某地,而未必直接连接)。 有时有的地方停电导致交换机故障。TLC官员认识到,在这样的情况下,除了停电的地方无法到达之外,也可能导致其他地方无法相互连接。...原创 2020-03-19 19:55:22 · 247 阅读 · 0 评论 -
12178. 破坏牛棚 割点割边
破坏牛棚 约翰意识到贝茜建设网络花费了他巨额的经费,就把她解雇了。贝茜很愤怒,打算狠狠报复。她打算破坏刚建成的约翰的网络。约翰的网络是树形的,连接着N(1≤N≤10000)个牛棚,她打算切断某一个牛棚的电源,使和这个牛棚相连的所有电缆全部中断。之后,就会存在若干子网络。为保证破坏够大,每一个子网的牛棚数不得超过总牛棚数的一半,那哪些牛棚值得破坏呢? 输入格式: 第1行:一个整数N. 第2到N+...原创 2020-03-19 19:50:09 · 333 阅读 · 0 评论 -
POJ3723 Conscription Kruskal算法 并查集
题目链接 Conscription Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 21271 Accepted: 7311 Description Windy has a country, and he wants to build an army to protect his country. He has picked...原创 2020-03-05 21:05:52 · 355 阅读 · 0 评论 -
POJ 3255 Roadblocks 最短路 Dijkstra算法的简单应用
题目如下: Roadblocks Time Limit: 2000MS Memory Limit: 65536K Total Submissions: 25495 Accepted: 8833 Description Bessie has moved to a small farm and sometimes enjoys returning to visit one of her best ...原创 2020-03-05 18:44:40 · 359 阅读 · 0 评论