今天写写最短路径的Floyd算法(有翻译叫弗洛伊德,不过这奇葩翻译用来读读就好……)。 这个算法的实质,广义来讲,其实是DP(动态规划)。其实按说,算法应该先说说什么贪心、搜索、DP、二分之类的基本算法的,但我觉得太广的东西对没有基础的人来说讲起来不清楚,还是先写写比较典型的一些算法比较好。而...
分类:
编程语言 时间:
2014-12-23 11:47:57
阅读次数:
183
DescriptionInputOutput最多可选多少景点Sample Input7 61 22 35 44 33 66 7Sample Output2HINT这题是结论题答案=最长反链=最小路径覆盖=n-二分图最大匹配先floyd处理出两点之间的联通性,然后拆点,如果A能到B则A向B'连边#in...
分类:
其他好文 时间:
2014-12-23 10:18:07
阅读次数:
235
最短路径法: 算法的主要思想是:单独一条边的路径也不一定是最佳路径。 从任意一条单边路径开始。所有两点之间的距离是边的权的和,(如果两点之间没有边相连, 则为无穷大)。 对于每一对顶点 u 和 v,看看是否存在一个顶点 w 使得从 u 到 w 再到 v 比己知的路径更短。如果是更新它。 先把所有的....
分类:
其他好文 时间:
2014-12-23 00:02:26
阅读次数:
457
fromhttp://www.cnblogs.com/biyeymyhjob/archive/2012/07/31/2615833.htmlDijkstra算法1.定义概览Dijkstra(迪杰斯特拉)算法是典型的单源最短路径算法,用于计算一个节点到其他所有节点的最短路径。主要特点是以起始点为中心向...
分类:
编程语言 时间:
2014-12-22 19:19:30
阅读次数:
232
题意:给你一个m条边的图,求s到t的正好用k条边的最短路。
(输入k,t,s,t)
题解:
先说说暴力。
动规f[k][i][j]表示i到j经过k条边的最短路,然后外层循环k一遍遍跑最后出解。
显然大概率T。
然后有一种思路:
我们可以动规求得f[k][i][j]表示i到j经过k条边的最短路,然后再求g[i]表示从终点走i步回到终点的最短路。
这样我们就可以乱搞过了。(没写...
分类:
其他好文 时间:
2014-12-22 11:13:02
阅读次数:
168
这两天在做一个项目,关于北京市出租车的,然后用到了 这两天在做一个项目,关于北京市出租车的,然后用到了Dijkstra算法,所以这篇文章就先写Dijkstra算法了。在大二下的时候学了数据结构,书里面也讲了Dijkstra算法,但是当时怎么也没理解,结果考试的时候就考了,哎蛋疼!现在用到了,又得硬着头皮去学,结果很快弄明白了,只是在写代码时出了一些很低级的错误,调Bug用了不少时间。最后总结只能说:不是你不会,而是没到你非会不可的地步!在这篇文章里我就用实际的项目给大家讲Dijkstra算法。...
分类:
编程语言 时间:
2014-12-22 09:35:07
阅读次数:
442
其实hihocoder里的题目目前大都是模板题啊-。-这周的是SPFA,暑假的时候有看过SPFA,不过一直用的都是Dijkstra,感觉spfa要更加简洁一点~~,今天找了一份之前一直都看不太懂所以就没怎么用的模板==,今天耐下心来观摩最终还是看懂了hh。======================...
分类:
其他好文 时间:
2014-12-22 00:56:43
阅读次数:
154
#include
int main()
{
int m, n, i, j, k, t1, t2, t3, e[10][10];
scanf_s("%d %d", &n, &m);
for (i = 1; i <= n;i++)
for (j = 1; j <= n; j++)//Initialize the matrix
{
if (i == j)
e[i][j] = 0;
...
分类:
编程语言 时间:
2014-12-21 22:11:53
阅读次数:
297
题目大意:求一个最小环。用Floyd 求最小环算法。#include #include #include #include #include #include #include #include using namespace std;#define INF 0xfffffff#define max...
分类:
其他好文 时间:
2014-12-21 20:36:04
阅读次数:
165
时间限制:10000ms单点时限:1000ms内存限制:256MB描述 万圣节的中午,A和B在吃过中饭之后,来到了一个新的鬼屋!鬼屋中一共有N个地点,分别编号为1..N,这N个地点之间互相有一些道路连通,两个地点之间可能有多条道路连通,但是并不存在一条两端都是同一个地点的道路。由于没有肚子的压迫,....
分类:
编程语言 时间:
2014-12-21 19:19:39
阅读次数:
206