
最短路
文章平均质量分 87
Albafica
研究生
方向:计算机网络
个人描述:完全没入门。SDN门外汉。痛苦的转型期。
展开
-
POJ1556 The Doors
这道题目在黑皮书上有。思路很容易就想到,就是枚举每两个端点,判断两个点之间是否与墙相交,不想交的话则将路径距离加入矩阵中,相交的的话则赋值INF,然后就是一个求最短路径的问题,可以用dijkstra算法。这道题麻烦在建图。The DoorsTime Limit: 1000MS Memory Limit: 10000KTot原创 2012-07-28 01:12:55 · 935 阅读 · 0 评论 -
ZOJ Monthly, November 2012
今天做了一下zoj的月赛。再次被虐。。只做出几道题目。麻将虽然在天津遇到过,但这次还是被虐,等考试复习完了,得好好反思了。 C Launching the Spacecraft差分约束,这道题目是一道差分约束的题目,其实很典型,一开始没有想清楚,当做上下界的网络流做了两个小时。。。大把大把的时间。约束条件 :f[i] 表示前i块石头的能量总和。f[R]-f[L-1]>原创 2012-11-25 18:17:44 · 1004 阅读 · 1 评论 -
Ural1450 Russian Pipelines DAG最长路
使用记忆化搜索,应为固定了起点,所以只要将起点vis[st]=1,dp[st]=0即可,然后搜索。应为使用了记忆化搜索可以免除拓扑。DAG最短路之类的DP之所以要用拓扑,是因为从st到当前点的值,取决于他的前驱节点。但如果是记忆化搜索,即使我们先碰到了后继节点,但我们任然可以计算出他前驱节点的值,而使用递推方法的dp时,我们的计算顺序就要十分的严格了,计算一个后继的时候我们必须要知道他前驱原创 2013-05-07 07:11:27 · 1019 阅读 · 0 评论 -
UVA11374 Airport Express SPFA
分别求出一点到起点和终点的最短距离,然后枚举商业线求出起点到终点的最短距离,记录即可。不看英文原题的要注意两个输出之间要有空行Airport ExpressTime Limit: 1000MS Memory Limit: Unknown 64bit IO Format: %lld & %llu[Submit]原创 2013-05-30 13:40:42 · 769 阅读 · 0 评论 -
UVA10917 Walk Through the Forest SPFA+DP
首先用最短路求出每一个点到终点的最短距离,然后按照可以走的路径要求即 dis[u]>dis[v] 在一张DAG图上做记忆化搜索即可。Walk Through the ForestTime Limit: 3000MS Memory Limit: Unknown 64bit IO Format: %lld & %llu[S原创 2013-06-04 23:44:21 · 681 阅读 · 0 评论 -
UVA11090 Going in Cycle!! SPFA
在一个有向图中找一个平均距离最小的环。二分枚举平均最小距离,每次每条边减去这个距离,然后spfa(或者bellmanFord找负环)如果找到,说明平均最小距离比这个值要小,如果没找到,则说明平均最小距离比这个值大。I I U P C 2 0 0 6Problem G: Going in Cycle!!Input: st原创 2013-06-14 18:32:09 · 985 阅读 · 0 评论 -
UVA10537 The Toll! Revisited dijkstra
有两种节点,一种是大写字母,一种是小写字母,当时小写字母是要付1各单位的过路费,当时大写字母的时候要付当前自己财务的1/20分之一当做过路费。求最少带多少个物品从起点到终点能在最后交付的时候有k个物品。这个问题我们倒着求解,求从终点到起点的最短路。然后在根据每个点到终点的最小消耗输出ASCII码序最小的路径。The Toll! RevisitedTime原创 2013-06-14 15:43:33 · 951 阅读 · 0 评论 -
UVA11478 Halum 差分约束
给一个点加D,的效果为以从该点发出的出边权值+D,所有进入该边的入边权值-D,现在要求使所有边权值为正,且最大的D。sum(a)表示节点a上D值之和得到不等式 对于 sum(a)-sum(b)+w(a,b)>=D 可以得到这个不等式,不等式怎么办?差分约束,最短路。注意要是图联通。所以加入0与每个点连权值为0最后二分枚举D,判断是否有负环,有则不符合要求。原创 2013-06-17 00:39:39 · 816 阅读 · 0 评论 -
POJ3798 Cave Crisis 计算几何+最短路
题目让你求一个最大的圆,能从隧道起点到终点,中间有很多障碍。此题有一个注意点就是终点位置不必满足枚举的距离。判断了就是哇哇哇。还有就是起点到其他边或者多边形的距离除了覆盖接触也不行。二分枚举圆的半径,然后更具枚举的半径建图求最短路即可Cave CrisisTime Limit: 1000MS Memory Limit: 65536K原创 2013-07-21 00:56:01 · 710 阅读 · 0 评论 -
UVA1376 Animal Run 平面图+最短路
此题关键字: 平面图 , 点带权图 , 最小割zh原创 2014-04-26 00:23:51 · 808 阅读 · 0 评论 -
HDU4460 Friend Chains SPFA?
1000个点floyd是一定会超的,不管怎么改。另外这道题目我很疑惑。因为现场赛的编译器是G++,而我下面的代码是在HDU上面用c++通过的。但在HDU上用G++提交一直TLE,不知道如果比赛那天提交能不能过,代码效率极其低下,应该使用了map和string的关系。如果用HASH和char[]的话时间应该可以在G++过掉。当时想过尝试SPFA,但没去敲。Friend ChainsTime原创 2012-12-01 16:29:54 · 922 阅读 · 0 评论 -
POJ1275 Cashier Employment 差分约束
被这道题目折磨了很久,后来发现被坑了。。。写错一个变量,改了1天。。。。,另外如果没有符合条件的方案是输出No Solution不是No Solution for that case(这里我太奇葩了。。。。)。下面讲一下思路,网上大多数使用最长路做的,但差分约束我比较习惯用最短路来做,其实两种方法都可以,只是不等号的方向不一样罢了,另外在求解最短路的时候起点和目标点也与最长路不同,另外再求出结原创 2012-08-12 00:45:12 · 886 阅读 · 0 评论 -
POJ2263 Heavy Cargo SPFA
一道最小路径思想的题目,可以用floyd来做,这里我选择了spfa,来练习了一下算法。 Heavy CargoTime Limit: 1000MS Memory Limit: 65536KTotal Submissions: 2260 Accepted: 1251DescriptionBig Johnsson Truc原创 2012-08-09 14:13:41 · 521 阅读 · 0 评论 -
POJ1201 Intervals 差分约束
对差分约束理解还是不深入,约束条件总是漏掉。题目中的约束条件s[a]-s[b]>=ns[i]-s[i-1]>=0s[i]-s[i-1]s[i]表示整数集合Z从0到i这一范围内的整数个数然后把第一个和第二个的约束乘以-1就可以编程最短了。IntervalsTime Limit: 2000MS Memory Limit: 65536K原创 2012-08-10 11:30:17 · 537 阅读 · 0 评论 -
POJ 3159 Candies 差分约束
一开始没有读懂题目意思,最后看了题目的解释才知道是要我们求flymouse最多比snoopy多拿多少糖。这就是一道简单的差分约束,只是这里要注意。。我用vector容器超时了,但是换成自己写的邻接表就过了。。。。没法偷懒了,另外这里似乎用spfa的话一定要用堆栈,否则好像也是tle。这题我写了两种算法一种是spfa+堆栈,另一种是dijkstra的堆优化,这里贴上spfa的代码Cand原创 2012-08-12 16:45:53 · 673 阅读 · 0 评论 -
POJ3169 Layout 差分约束
我审题果然不仔细,一直不出sample原来是看错了 求成了最小值,题目中要我们求最大值。。。。。。这道题是一道差分约束,这题的约束关系非常的明显ML S[b]-S[a]MD S[b]-S[a]>=c 转化后 S[a]-S[b]还有相邻的两只牛之间的距离 S[i]-s[i-1]>=0 转化后 S[i-1]-S[i]我们要求最长的排队距离就是要解出这个关系原创 2012-08-10 23:02:32 · 1091 阅读 · 0 评论 -
POJ1364 King 差分约束
又是一道差分约束的题目。最短路的算法我用了spfa题目中给出了一个区间的和,这个和一个给定的值,这里注意,差分约束只能处理=因为题目中序列的每个数都是整数,所以我们可以把处理成=约束:sum[si+ni]-sum[si-1]>=a+1sum[si+ni]-sum[si-1]将约束处理之后,在添加一个源点 n+1约束关系sum[i]-sum[n+1]这样一共有了n+2原创 2012-08-10 15:34:34 · 810 阅读 · 0 评论 -
POJ2570 Fiber Network floyd+位运算
floyd+位运算。用spfa应该也是可以的,但是没有必要,这里floyd可以解决了。关键是,代码少太粗心了,先是忘记加位运算头文件送了一次ce,然后又是忘记多输出一个换行又送一个pe。。。。Fiber NetworkTime Limit: 1000MS Memory Limit: 65536KTotal Submissi原创 2012-08-09 10:26:04 · 597 阅读 · 0 评论 -
POJ3268 Silver Cow Party SPFA
对图分别建立入边表和出边表,分别求出x到个点的最短路,然后相加求出最大值。Silver Cow PartyTime Limit: 2000MS Memory Limit: 65536KTotal Submissions: 8756 Accepted: 3911Descriptio原创 2012-08-09 08:16:36 · 492 阅读 · 0 评论 -
POJ2240 Arbitrage bellman-ford
最短路的变形,相当于求一个最大路径。用bellman-ford可以解决ArbitrageTime Limit: 1000MS Memory Limit: 65536KTotal Submissions: 10848 Accepted: 4574DescriptionArbit原创 2012-08-08 21:18:38 · 445 阅读 · 0 评论 -
POJ3259 Wormholes SPFA负权回路判断
题目要我们求是否存在一条路,FJ重新回到起点之后时间回到了过去,就是让我们判断在图中是否存在负权回路。我用了SPFA,当一个点入队超过n次时,可以判断图中存在负权回路。注意图中的前m条路是双向的,注意处理后面的w条虫洞是单向的。WormholesTime Limit: 2000MS Memory Limit: 65536K原创 2012-08-09 09:13:40 · 679 阅读 · 0 评论 -
POJ2472 106 miles to Chicago SPFA
一道最长路径,我分别试了两种方法,spfa 和 floyd106 miles to ChicagoTime Limit: 2000MS Memory Limit: 65536KTotal Submissions: 2977 Accepted: 1401 Special JudgeDescriptionIn the原创 2012-08-09 15:35:47 · 781 阅读 · 0 评论 -
ZOJ2770 Burn the Linked Camp 差分约束
这是一道 最短路+差分约束差分约束我还不是很熟悉。但就是通过题目中给予我们的不等关系来写出不等式,这里不等式的形式是(xi-xj,他的权值是a,然后xi,和xj就分别代表最短路中从源点到点i(j)的最短路劲。然后我们在自己加入一个源点就可以吧差分约束的类型的题目转化成为一道最短路径的题目。以这道题目为例子。题目中给了我们每一个军营的上限,和从第i到第j个军营的人数下限,从而我们可以写出原创 2012-08-10 09:25:26 · 815 阅读 · 1 评论