图
xiaoxiaoluo
这个作者很懒,什么都没留下…
展开
-
poj 1679 求最小生成树的值是否唯一
题目大意:求最小生成树的值是否唯一,唯一输出这个值,不唯一则输出Not Unique!解题思路:先求出最小生成树,保存最小生成树的路径,然后按边的大小由小到大枚举每条没有加入最小生成树的边比如是(u,v),在已经形成的最小生成树种,取u到v路径上最大的边的权值,比较(u,v)的这个最大权值的大小,如果相等,说明最小生成树不唯一,如果不相等,说明唯一。 #include #inclu原创 2012-06-25 02:03:49 · 643 阅读 · 0 评论 -
最大流问题
http://www.cppblog.com/Icyflame/archive/2009/06/23/88364.html最大流问题 一、 定义与定理流网络:G=(V, E)是一个有向图,其中每条边(u, v)∈E均有一个非负容量c(u, v) ≤0,否则c(u, v)为0.流网络中有两个特别的顶点:源点s和汇点t。对于每个顶点v∈V,都存在一条路径s…v…t。流转载 2012-08-25 15:28:58 · 3119 阅读 · 0 评论 -
poj 1273 Drainage Ditches
题目大意:简单的最大流问题。。。最大流入门题。用Edmonds_karp算法,复杂度为O(VE2)#include #include #include #include #include #include using namespace std;struct node{ int u, v, flow, cap, next;};cons原创 2012-11-12 23:36:42 · 4644 阅读 · 0 评论 -
poj 1523 SPF 求割点
题目大意:求一个无向图的割点,并把割点连接的连通个数求出来解题思路:tarjan算法求割点这里定义:Low(u)为u或u的子树中能通过非父子边追溯到的最早的节点,即DFS序号最小的节点。根据定义,则有:Low(u)=Min{DFS(u)DFS(v) (u,v)为后向边(返祖边) 等价于 DFS(v)Low(v) (u,v)为树枝边(父子边)}满足割点原创 2012-11-14 21:39:15 · 5377 阅读 · 0 评论 -
poj 3352 Road Construction
题目大意:求要连多少条边能消除无向图的桥解题思路:求出图的双向连通子图,每个子图缩点,形成的树有多少个叶子节点,添加的边就为叶子节点数加1除以2#include #include #include #include using namespace std;struct node{ int v, next;};const int maxn =原创 2012-11-14 22:43:32 · 5221 阅读 · 0 评论 -
poj 1815 Friendship
题目大意:求一个有向图删除多少的点,使得源点到终点不连通解题思路:最大流,拆点和枚举每个点拆成两个点,这两个点之间的容量为1,源点和终点拆成的点容量为无穷大,当一个点和另一个点有边时,假设是i和j两个点, 那么i拆成两个点i, i',j拆成两个点j, j', i'和j连接,容量为无穷大然后枚举除源点,和终点的每个点,删除这个点,看容量是否减少,减少则为要删除的点。#includ原创 2012-11-17 12:17:40 · 5734 阅读 · 1 评论