题意:一个famer有一些农场,这些农场里面有一些田地,田地里面有一些虫洞,田地和田地之间有路(双向的),即从a到b和从b到a时间都为c.虫洞的性质:时间倒流。即通过虫洞从a到b所花时间为 -c(单向的).问从某块田出发,他能否通过虫洞的性质回到出发点前...
分类:
其他好文 时间:
2014-07-24 17:41:25
阅读次数:
193
题意:输入n个经纪人,以及他们之间传播谣言所需的时间,
问从哪个人开始传播使得所有人知道所需时间最少,这个最少时间是多少
分析:因为谣言传播是同时的,对于某条路径使得所有人都知道的时间,不是时间的总和,而是路径中最长的边
从多条路径的最长边,找出最小值,因为为多源最短路,用Floyd比较方便...
分类:
其他好文 时间:
2014-07-24 17:38:36
阅读次数:
162
题意:给出青蛙A,B和若干石头的坐标,现青蛙A想到青蛙B那,A可通过任意石头到达B,
问从A到B多条路径中的最长边中的最短距离
分析:这题是最短路的变形,以前求的是路径总长的最小值,而此题是通路中最长边的最小值,每条边的权值可以通过坐标算出,因为是单源起点,直接用SPFA算法或dijkstra算法就可以了...
分类:
其他好文 时间:
2014-07-24 12:27:18
阅读次数:
250
Dijkstra提出按各顶点与源点v间的路径长度的递增次序,生成到各顶点的最短路径的算法。即先求出长度最短的一条最短路径,再参照它求出长度次短的一条最短路径,依次类推,直到从源点v 到其它各顶点的最短路径全部求出为止。
下面是代码实现:
package com.algorithm.impl;
public class Dijkstra {
private static int M = 10...
分类:
编程语言 时间:
2014-07-24 10:43:55
阅读次数:
238
其实这两个星期以来,自己学会了很多东西,就比如最小环,拓扑排序,用深搜打暴力,一些数学结论,背包,djik什么鬼的求最短路,对最小生成树的更深的理解以及对spfa.bfs的更深的感悟吧,当然还有一些小技巧,就比如用指针啊,计算斜率啊,等等。。。等集训结束之后,再好好总结一下吧。。其实挺不想回去的,回...
分类:
其他好文 时间:
2014-07-24 10:08:33
阅读次数:
164
题意:N个顶点, M条双向边, W条权值为负的单向边。求是否存在负环。思路:首先你要懂bellman-ford或spfa。。这是基础的spfa判断是否存在负环的题,存在负环的节点会重复入队(因为最短路在不断变小), 所以只要有节点重复入队超过n次,即可判断存在负环(即开一个数组记录节点入队次数)。总...
分类:
其他好文 时间:
2014-07-24 09:48:13
阅读次数:
305
累了就要写题解,最近总是被虐到没脾气。
来回最短路问题貌似也可以用DP来搞,不过拿费用流还是很方便的。
可以转化成求满流为2 的最小花费。一般做法为拆点,对于 i 拆为2*i 和 2*i+1,然后连一条流量为1(花费根据题意来定) 的边来控制每个点只能通过一次。
额外添加source和sink来控制满流为2。
代码都雷同,以HDU3376为例。
#include
#include
#...
分类:
其他好文 时间:
2014-07-23 22:40:08
阅读次数:
560
题目链接:http://poj.org/problem?id=3159
Candies
Time Limit: 1500MS
Memory Limit: 131072K
Total Submissions: 22516
Accepted: 6047
Description
During the...
分类:
其他好文 时间:
2014-07-23 22:39:18
阅读次数:
554
Dijkstra算法:解决的问题: 带权重的有向图上单源最短路径问题。且权重都为非负值。如果采用的实现方法合适,Dijkstra运行时间要低于Bellman-Ford算法。思路: 如果存在一条从i到j的最短路径(Vi.....Vk,Vj),Vk是Vj前面的一顶点。那么(Vi...Vk)也必定是从.....
分类:
其他好文 时间:
2014-07-23 22:11:57
阅读次数:
290
不同性质的图中,所采取的策略有所不同,自然存在各样的求最短路径的算法。* 无向无权图:BFS* 有向正权图:Dijkstra* 有向无负环图:Bellman-Ford(单点),Floyd-Warshall(任意两点)* 有向无环图(dags): 基于动态规划的算法。## 广度优先搜索(BFS)对于无...
分类:
其他好文 时间:
2014-07-23 20:47:15
阅读次数:
261