题目:给你最短路的集合,判断图最要有多少边。
分析:最短路。这道题目应该是最水的了,只要利用floyd判断成立和更新就解决了;
比赛开始了好久才去敲了这道题,导致累计时间,幸好最后以题数晋级。
说明:(2011-09-19 00:43)。
#include
#include
#include
int maps[ 105 ][ 105 ];
bool sma...
分类:
其他好文 时间:
2014-09-20 14:08:57
阅读次数:
152
Floyd算法可以求图内任意两点之间的最短路径,三重循环搞定,虽然暴力,但是属于算法当中最难的动态规划的一种,很有必要理解。花了一晚上和半个下午专门看这个,才看个一知半解,智商被碾压没办法。我一直怀疑这种办法会不会漏情况,是不是一定正确,脑子里想特殊用例,却把脑子想乱了。收藏这么几个网址,从数学证明...
分类:
其他好文 时间:
2014-09-19 17:23:05
阅读次数:
328
1)问题描述n个村庄之间的交通图可以用有向网图来表示,图中边上的权值表示从村庄i到村庄j的道路长度。现在要从这n个村庄中选择一个村庄新建一所医院,问这所医院应建在哪个村庄,才能使所有的村庄离医院都比较近?2) 基本要求(1) 建立模型,设计存储结构;(2) 设计算法完成问题求解;(3) 分析算法的时...
分类:
其他好文 时间:
2014-09-18 20:33:44
阅读次数:
384
实际上是求最短的避雨时间。首先将每个点拆成两个,一个连接源点,一个连接汇点,连接源点的点的容量为当前单的奶牛数,连接汇点的点为能容纳的奶牛数。floyd求任意两点互相到达的最短时间,二分最长时间,最大流判断是否可行。注意路径时间会超过int/* 最大流SAP 邻接表 思...
分类:
其他好文 时间:
2014-09-16 00:07:29
阅读次数:
346
时间限制:2s空间限制:30M题意: 有K台挤奶机(编号1~K),C头奶牛(编号K+1~K+C),给出各点之间距离。现在要让C头奶牛到挤奶机去挤奶,每台挤奶机只能处理M头奶牛,求使所走路程最远的奶牛的路程最短的方案。Solution: 先Floyd求最短路,然后最大流二分答案ans。 ...
分类:
其他好文 时间:
2014-09-12 23:25:54
阅读次数:
221
Floyd-Warshall算法(Floyd-Warshall
algorithm)是解决任意两点间的最短路径的一种算法,可以正确处理有向图或负权的最短路径问题,同时也被用于计算有向图的传递闭包。
通过一个图的权值矩阵求出它的每两点间的最短路径矩阵。
从图的带权邻接矩阵A=[a(i,j)] n×n开始,递归地进行n次更新,即由矩阵D(0)=A,按一个公式,构造出矩阵D(1);又...
分类:
其他好文 时间:
2014-09-12 13:31:46
阅读次数:
332
题目链接:http://poj.org/problem?id=3311
Floyd + 状态压缩DP
题意是有N个城市(1~N)和一个PIZZA店(0),要求一条回路,从0出发,又回到0,而且距离最小。
状态:dp[S][v]表示从v出发访问剩余的所有顶点(集合S),最终回到顶点0的路径的权重总和最小值。
#include
#include
#inc...
分类:
其他好文 时间:
2014-09-11 15:21:52
阅读次数:
161
自己好懒那....这题的主要知识点 应该是 对最小环的运用了这里的图 是无向图无向图的最小环至少有3个顶点有向图的最小环至少有2个顶点这边的做法是用floyd的思想去做我们都知道起初我们用floyd来做的时候都是直接for k -> 1 to n for i -> 1 to n for j...
分类:
其他好文 时间:
2014-09-09 11:45:28
阅读次数:
206
这个题,要用floyd算法:/*ID: qq104801LANG: C++TASK: cowtour*/#include #include #include #include #include #include #include #include #include #include #define ...
分类:
其他好文 时间:
2014-09-06 23:46:14
阅读次数:
447
求最短路的算法最有名的是Dijkstra。所以一般拿到题目第一反应就是使用Dijkstra算法。但是此题要求的好几对起点和终点的最短路径。所以用Floyd是最好的选择。因为其他三种最短路的算法都是单源的。 输出字典序最小的路径则需要修改模版。#include#include#include#i...
分类:
其他好文 时间:
2014-09-06 21:14:03
阅读次数:
331