1 #include 2 #include 3 #include 4 #include 5 #include 6 #include 7 #include 8 #include 9 using namespace std;10 #define N 11111 int f[N][N],lj[N][N]....
分类:
其他好文 时间:
2014-10-21 23:06:55
阅读次数:
343
这题好坑,卡SPFA。。。无奈只能用dij+优先队列了。 因为好久没有写过代码了,所以今天写dij时候突然觉得复杂度不对,dij+优先队列的复杂度是(n+m)logn,这种复杂度对于稠密图是非常慢!,而且还有超内存的可能(最坏情况要把n*n个点都存进优先队列),与我以前记得复杂度是nlogn不一样。...
分类:
其他好文 时间:
2014-10-05 13:25:48
阅读次数:
216
尽管堆优化的Prim用于处理稠密图不错,但是实际上很少有题目稠密图。所以一般直接上用并查集优化的Kruskal,简洁高效。int find(int x) {return x!=p[x]?p[x]=find(p[x]):x;}struct edge{ int u,v,c;}Edge[10001]...
分类:
其他好文 时间:
2014-10-02 21:46:13
阅读次数:
243
题目:poj 3311 Hie with the Pie
题意:就是批萨点小二要送批萨,然后给你每个点的距离,有向的,然后让你就走一次回到原点的最短路。
分析:因为给出的是稠密图,所以要处理一下最短路,floyd
然后TSP就好。
枚举每个状态,对于当前状态的每一个已经走过的点,枚举是从那个点走过来的,更新最短路
状态:dp【st】【i】 :st状态下走到点 i 的最短路...
分类:
其他好文 时间:
2014-09-26 19:17:08
阅读次数:
193
Floyd可以求出任意两点间的最短距离,代码也相对简单,对于稀疏图来说效率也还是不错的,但由于三个for循环导致时间复杂度较高,不适合稠密图。
Floyd算法模板(精简版):
void Floyd()
{
int dist[maxn][maxn]; // dist存储i到j的最短距离
for(int k = 1; k <= n; k++)
for(int ...
分类:
其他好文 时间:
2014-07-28 00:22:49
阅读次数:
144
1、相关术语顶点(Vertex)、弧(Arc)、弧头(初始点)、弧尾(终结点)、边(Edge)、有向图(Directed graph)、无向图(Undigraph)、全然图(Completed grapg)、有向全然图、稀疏图(Sparse graph)、稠密图(Dense graph)、权(wei...
分类:
其他好文 时间:
2014-07-06 18:51:14
阅读次数:
321
本题也是使用Prime和Kruskal都可以的最小生成树的题解。
本题一点新意就是:需要除去最大的S-1个距离,因为可以使用卫星覆盖这些距离。
技巧:建图建有向图,速度快点,不用计算两边。
这里使用Prime,因为是稠密图。
#include
#include
#include
#include
#include
#include
using std::sort;
c...
分类:
Web程序 时间:
2014-06-30 00:16:45
阅读次数:
292
题目:
输入顶点数目,边的数目,输入每条边的两个顶点编号还有每条边的权值,求最小生成树,输出最小生成树的权值。。
注意:prim算法适合稠密图,其时间复杂度为O(n^2),其时间复杂度与边得数目无关,而kruskal算法的时间复杂度为O(eloge)跟边的数目有关,适合稀疏图。
kruskal----归并边;prim----归并点
方法一:kruskal,克鲁斯卡尔...
分类:
其他好文 时间:
2014-06-28 09:08:53
阅读次数:
177
http://acm.sdut.edu.cn/sdutoj/showproblem.php?pid=2144&cid=1186最小生成树,最重要的是了解思想稠密图用Prim,稀疏图用KruskalK(每次找最小的边连接,一条边连接两个点,所以单路就可以了) 1 #include 2 #include...
分类:
其他好文 时间:
2014-06-26 15:01:45
阅读次数:
267
题目链接:Truck History
题意就是N个卡车的型号,一代一代的发展,两辆卡车的型号中 不同字母的个数代表着两辆卡车的距离,确定一个点,遍历到所有的点,使之这个距离最小。
很明显最小生成树,稠密图,1次AC,水过
#include
#include
#include
#include
#include
const int N = 2001;
cons...
分类:
其他好文 时间:
2014-06-16 21:51:25
阅读次数:
259