摘要: 虽然在学数据结构的时候看过并查集。。。好像是在Kruskal算法中讲到了,不过做题中用到这还是头一次。。。哎,acm有太多的第一次了。。。不过生命不休,学习不止。。。好吧。。。不多说了。。。View Code 1 #include<iostream> 2 #include<algorithm> 3 const int N=1010; 4 const int inf=1000000; 5 using namespace std; 6 7 struct Road{ 8 int st,ed,pd; //起点,终点、速度 9 };10 11 int cmp(const Road 阅读全文
posted @ 2013-01-30 15:37 ihge2k 阅读(441) 评论(14) 推荐(1) 编辑
摘要: 题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1548就是Dijkstra算法的应用。。。。不过被坑了好久,原来电梯的up、down是并列的,初始化的时候出错了。。。。调了好半天。。突然醒悟过来了,,,orzView Code 1 #include 2 #include 3 const int N=220; 4 const int inf=1000000; 5 using namespace std; 6 7 int edge[N][N]; 8 int dist[N]; 9 int visited[N];10 int n,A,B;11 12 .. 阅读全文
posted @ 2013-01-30 11:28 ihge2k 阅读(354) 评论(0) 推荐(0) 编辑
摘要: 在做过hdu 1358之后,若菜对floyd也有了更深的理解,学过数据结构的都知道,floyd是用于求每一对顶点之间的最短距离(当然你也可以用dijkstra来求,只不过floyd形式更简单)。。。好吧,先说说我的理解吧,其实floyd本质上还是dp,如果要求顶点vi到顶点vj的距离,那么,我们可以在vi,vj之间引入一个最大点vk,通过vk求出vi到vj的距离的最小值,当然1 2 const int N=100; 3 const int inf=100000000; 4 using namespace std; 5 6 int cost[N]; 7 int edge[N][N]; 8 in. 阅读全文
posted @ 2013-01-30 00:01 ihge2k 阅读(703) 评论(0) 推荐(0) 编辑