图论
思考熊
这个作者很懒,什么都没留下…
展开
-
HDU--3549 Flow Problem 网络流
http://acm.split.hdu.edu.cn/showproblem.php?pid=3549 题目大意:题目就是告诉你点和边的数量n和m,然后就是每条边连接的两个点和值,要你求出从1到n的最大流 递归版:#include <cstdio>#include <queue>#include <cstring>#include <vector>using namespace std原创 2016-08-25 21:06:22 · 318 阅读 · 0 评论 -
POJ 2186 Popular Cows(强连通分量)
题目链接:http://poj.org/problem?id=2186 题目大意:有n只牛,牛A认为牛B很牛,牛B认为牛C很牛。给你M个关系(谁认为谁牛),求大家都认为它很牛的牛有几只。PS:如果牛A认为牛B很牛,牛B认为牛C很牛。那么我们就认为牛A认为牛C很牛。#include<cstdio>#include<cstring>#include<cstdlib>#include<stack>原创 2016-10-04 19:53:46 · 258 阅读 · 0 评论 -
HDU 4612 Warm up(无向图强连通分量缩点建树)
题目链接:http://acm.split.hdu.edu.cn/showproblem.php?pid=4612 题意:求加一条边形成的最少桥数目。 解法:先双连通分量缩点,形成一颗树,然后求树的直径,就是减少的桥。需要手动开栈。#include<stdio.h>#include<stdlib.h>#include<string.h>#include<stack>#include<al原创 2016-10-04 21:28:51 · 349 阅读 · 0 评论 -
POJ 2117 Electricity(割点)
求删除一个点后,图中最多有多少个连通块#include<stdio.h>#include<stdlib.h>#include<string.h>#include<stack>#include<algorithm>#include<vector>#include<map>using namespace std;const int MAXN = 10010;const int MAXM原创 2016-10-04 22:27:00 · 374 阅读 · 0 评论 -
UVA 796 Critical Links(求桥)
求 无向图的割点和桥 可以找出割点和桥,求删掉每个点后增加的连通块。 需要注意重边的处理,可以先用矩阵存,再转邻接表,或者进行判重#include<stdio.h>#include<stdlib.h>#include<string.h>#include<stack>#include<algorithm>#include<vector>#include<map>using names原创 2016-10-04 22:19:20 · 400 阅读 · 0 评论 -
HDU 4781 Assignment For Princess(2013亚洲区成都站现场赛)
题目链接:http://acm.split.hdu.edu.cn/showproblem.php?pid=4781 题意:城堡之间两两可达,并且圈的权值和为3的倍数。 思路:有向图建树,加反向边。#include<iostream>#include<cstdio>#include<cstring>#include<string>#include<cmath>#include<algor原创 2016-10-05 18:28:21 · 336 阅读 · 0 评论 -
HDU 4786 Fibonacci Tree(2013亚洲区成都站现场赛)
#include<iostream>#include<cstdio>#include<cstring>#include<string>#include<cmath>#include<algorithm>#include<queue>#include<stack>#include<vector>#include<map>#include<set>#include<list>#d原创 2016-10-05 18:49:55 · 294 阅读 · 0 评论 -
HDU 1814 Peaceful Commission(2-SAT)
题目链接:http://acm.split.hdu.edu.cn/showproblem.php?pid=1814 题意: 要建立一个和平委员会,要满足以下条件: 每个党派都在委员会中恰有1个代表, 如果2个代表彼此厌恶,则他们不能都属于委员会#include<iostream>#include<cstdio>#include<cstring>#include<string>#inc原创 2016-10-06 13:25:33 · 311 阅读 · 0 评论 -
SPOJ Highways(生成树计数)
#include<iostream>#include<cstdio>#include<cstring>#include<string>#include<cmath>#include<algorithm>#include<queue>#include<stack>#include<vector>#include<map>#include<set>#include<list>#d原创 2016-10-06 16:06:37 · 316 阅读 · 0 评论 -
POJ 1330 Nearest Common Ancestors(最近公共祖先)
题目链接:http://poj.org/problem?id=1330 题意:输入n组,n-1组m k,代表m是k的父亲,求第n组,m,k的最近公共祖先。#include <iostream>#include <string.h>#include <stdio.h>#include <vector>using namespace std;const int N = 10005;int原创 2016-10-07 00:03:31 · 292 阅读 · 0 评论 -
POJ 1470 Closest Common Ancestors(最近公共祖先)
m次查询,每对括号里面的数都有一个最近公共祖先,最后输出各个最近祖先出现次数。 题目链接:http://poj.org/problem?id=1470#include <iostream>#include <string.h>#include <stdio.h>#include <vector>using namespace std;const int N = 10005;int n;原创 2016-10-07 00:16:03 · 330 阅读 · 0 评论 -
HDU 3549 Flow Problem(最大流)
题目链接:http://acm.split.hdu.edu.cn/showproblem.php?pid=3549 题目大意:题目就是告诉你点和边的数量n和m,然后就是每条边连接的两个点和值,要你求出从1到n的最大流递归版:#include <cstdio>#include <queue>#include <cstring>#include <vector>using namespace原创 2016-10-07 23:35:15 · 214 阅读 · 0 评论 -
POJ 3177 Redundant Paths(边连通分量)
题目链接:http://poj.org/problem?id=3177 题目大意:n个顶点,m条边,要求至少建立多少条边,使得任意两点间 的独立路径至少两条(独立路径指与其它路径不含有重边,可以好友重点)#include<cstdio>#include<cstdlib>#include<cstring>#include<algorithm>using namespace std;cons原创 2016-10-04 19:16:14 · 270 阅读 · 0 评论 -
HDU 5137 How Many Maos Does the Guanxi Worth(2014亚洲区广州站现场赛)
题目链接:http://acm.split.hdu.edu.cn/showproblem.php?pid=5137#include<iostream>#include<cstdio>#include<cstring>#include<cmath>#include<string>#include<algorithm>#include<queue>#include<stack>#incl原创 2016-10-04 16:44:01 · 217 阅读 · 0 评论 -
最小生成树-两种算法复杂度比较 poj-1258,2485
1.Prim算法 时间是复杂度O(n2),适合稠密图。 例:Poj–1258 题目大意:n个城市建造光缆,要使这些城市直接通信,并且光缆费用最小。 #include <cstdio>#include <string.h>#define n 10010#define inf 100010int a[n][n],ans;bool vis[n],t;int dis[n];bool pr原创 2016-08-20 11:37:47 · 5679 阅读 · 0 评论 -
二分图的两种算法-最大匹配与最优匹配 poj--1469,2536
1.最大匹配 题目大意:给你p门课程和n个学生,一个学生可以选0门,1门,或者多门课 程,现在要求一个由p个学生组成的集合,满足下列2个条件: (1).每个学生选择一个不同的课程 (2).每个课程都有不同的代表 如果满足,就输出YES#include<cstdio>#include<cstring>using namespace std;#def原创 2016-08-21 16:15:32 · 1028 阅读 · 0 评论 -
简单并查集 hdu 1233 ( 还是畅通工程 )
Time Limit: 4000/2000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Problem Description某省调查乡村交通状况,得到的统计表中列出了任意两村庄间的距离。省政府“畅通工程”的目标是使全省任何两个村庄间都可以实现公路交通(但不一定有直接的公路相连,只要能间接通过公路可达即可原创 2016-01-21 15:11:33 · 337 阅读 · 0 评论 -
最短路-四种算法复杂度分析比较 HDU-1874 畅通工程
样例解析: 每组数据第一行包含两个正整数N和M(0#include <stdio.h>#include <string.h>#include <algorithm>using namespace std;const int inf = 1<<30;int n,m;int map[300][300];int vis[300],cast[300];void Dijkstra(int s原创 2016-08-21 11:24:56 · 2076 阅读 · 0 评论 -
HDU5876 Sparse Graph(2016亚洲区大连站网络赛)
http://acm.split.hdu.edu.cn/showproblem.php?pid=5876 求补图的最短路,赛场上看到补图不知一时忘怎么回事了,因为数组开小了,RE一发。#include <cstdio>#include <cstring>#include <algorithm>#include <stack>#include <string>#include <queue原创 2016-09-13 11:21:46 · 527 阅读 · 0 评论 -
网络流三种算法及比较
核心代码 (1)EK 算法 复杂度O(V*E*E)#define N 204 int c[N][N];//边容量 int f[N][N];//边实际流量 int pre[N];//记录增广路径 int res[N];//残余网络 queue<int> qq; void init(){ while(!qq.empty())qq.pop(); mems原创 2016-08-25 18:23:25 · 1657 阅读 · 0 评论 -
HUD 5883 The Best Path(2016亚洲区青岛站网络赛)
题目链接:http://acm.split.hdu.edu.cn/showproblem.php?pid=5883#include <cstdio>#include <cstring>#include <cmath>#include <ctime>#include <cstdlib>#include <queue>#include <stack>#include <string>#i原创 2016-09-17 18:26:27 · 333 阅读 · 0 评论 -
HDU 5889 Barricade(2016亚洲区青岛站网络赛)
题目链接:http://acm.split.hdu.edu.cn/showproblem.php?pid=5889 最后10分钟被一群sb刷榜,杭电直接爆炸,导致这个题没交上,赛后30分钟裁判完题。交到题库直接AC#include <cstdio>#include <cstring>#include <cmath>#include <ctime>#include <cstdlib>#in原创 2016-09-18 10:02:09 · 544 阅读 · 0 评论 -
HDU 5521 Meeting(2015 Asia Shenyang Regional Contest)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5521#include <cstdio>#include <algorithm>#include <queue>#include <cstring>#include <iostream>using namespace std;typedef long long LL;#define N 10原创 2016-10-10 18:46:28 · 360 阅读 · 0 评论 -
POJ 1523 SPF(无向图求割点,去割点形成子图数)
题目链接:http://poj.org/problem?id=1523#include<cstdio>#include<cstdlib>#include<cstring>#include<algorithm>using namespace std;const int N = 1010;int edge[N][N];int n, son;int subnet[N], dfn[N], l原创 2016-10-03 22:47:04 · 363 阅读 · 0 评论 -
ZOJ 2588 Burning Bridges(无向图求割边,桥)
题目大意:输入n个节点,m条边,现在要去掉一些边,使图仍然连通,求哪些边是不能去掉的,输出不能去掉边的ID号。#include<cstdio>#include<cstring>#include<cstdlib>#include<map>#include<vector>#include<algorithm>using namespace std;const int N = (int)1e原创 2016-10-04 11:43:45 · 352 阅读 · 0 评论 -
NOI 模拟试题(二)
逃离计划【题目背景】 逃亡主义,全民公决。 【题目描述】 有 n 名议员,m 个逃离方案。每一个逃离方案都有可能通过或者不通过。可以有多个 方案同时通过。对于 m 个逃离方案的通过与否序列,称其为总方案 S。(即 m 个元素的 01 序列 0 表示不通过,1 表示通过) 第 i 名议员手中有 a[i]张选票,他会对 a[i]个方案进行投票,态度为通过或者不通过。 你需要根据所有的选票原创 2016-10-08 11:46:24 · 2202 阅读 · 0 评论