图论
文章平均质量分 74
谢符宝
业精于勤,荒于嬉行成于思,毁于随。
展开
-
poj1511
题意:读了半天才看明白,英语太差了。。。。最终就是在有向图中,求所有点到1号点的最短往返距离之和。 解法:建了两遍图,正向见一边建的图,反向建一遍回的路。然后spfa求两遍。 代码:#include #include #include using namespace std; struct edge { int v,w; int next; } edges1[100001原创 2014-01-17 17:19:12 · 772 阅读 · 0 评论 -
poj3275
题意:要给N头牛的产奶能力排序,已经给出M对的大小关系,问至少还要多少对关系才能完成整个排序。 思路:问至少还要多少对的关系,并不依赖于比较过程。也就是说经过那么多次比较,无论结果是什么,都可以完成排序。最终的解法是这样的:答案就是还有多少两两无法确定的关系对。用邻接表实现floyd算法,算出联通矩阵,然后再判断还有多少对牛无法确定他们之间的关系。#include #include #inc原创 2014-01-16 20:42:45 · 792 阅读 · 0 评论 -
Frog Distance(poj2253)flo…
题目大意: 青蛙要从一个石头(二维坐标点)跳到另外一个石头上,有其他n-2块石头可以作为跳跃的媒介。起码有一条可以跳跃的路线到达,指定石头上。在每条路线上,距离最大的一个跳跃段最为青蛙的跳跃能力底线---Frog Distance,求在所有的路线中最短的那个Frog Distance,并按指定格式输出。 解题思路:mindis[i][j]记录着点i与点j之间的Frog Distance。并利用原创 2014-01-16 16:38:40 · 668 阅读 · 0 评论 -
poj1659(贪心构造图)
题意:给出一个无向图中所有点的度数,要求输出一种图的构造。 解法:就是个贪心,第一次遇到这个题是在长沙区域赛上,当时是一道几乎一样的题目,当时在场上想到了这个贪心方法,还简单证明了一下,。,。,。但是由于比赛时那个题目过的人很少,加上一直在帮队友调试卡的题目,所以场上没有敲,还是水平太逗了,。,。现在做1A,其实真的很简单。就先将度从大到小排序,然后将最大的那个度依次往后分配,然后一直迭原创 2014-01-20 15:17:58 · 784 阅读 · 0 评论 -
poj3256(SPFA最短路)
题意:K头牛分布在N个草场上,要聚在一起。草场与草场之间是有向边,问共有几个草场可作为K头牛聚集的地方。 解法:以每个草场为起点,用SPFA算法求出所有草场到它距离,如果所有有牛的草场可达此草场,则此草场可作为聚集的地点;枚举每个草场,求出数量即可。SPFA的期望复杂度是O(E),所以总复杂度是O(E*V)。 #include #include #include using namesp原创 2014-01-16 22:12:56 · 766 阅读 · 0 评论 -
CF 96D Volleyball(最短路套最短路)
题目链接:http://codeforces.com/contest/96/problem/D 题意:不超过1000个点和1000条边的无向图,n个点每个点有一辆出租车,给出每辆出租车能开的最远距离和搭乘这辆车的费用,求起点到终点的最少费用是多少。 解法:SPFA里套一个SPFA。第一个是利用乘坐某点的出租车A是否可以更新其他点的最少费用,但是从此点A出发还要求出此点到所有点的原创 2014-06-29 12:21:56 · 832 阅读 · 0 评论 -
poj1482(隐式图求最短路)
题目链接 题意:补丁在修正bug时,有时也会引入新的bug。假定有n个潜在的bug m个补丁,每个补丁用两个长度为n的字符串表示,其中字符串的每个位置表示一个bug,第一个串表示打补丁之前的状态('-'表示该bug必须不存在,’+‘表示必须存在,0表示无所谓,第二个串表示打补丁之后的状态(-'表示不存在,’+‘表示存在,0表示不变)。每个补丁都有一个执行时间,你的任务使用最少的时间把一个原创 2014-12-04 00:22:20 · 1215 阅读 · 0 评论