摘要: 说实话,一看到这个题,我第一反应就是dfs,本来想用dfs搜索每一个可行的路径,然后记录每一个可行路径上的最小速度差,然后再找出最小。可是写着写着就写不下去了,因为记录路径实在不会。在网上看别人的方法,才恍然大悟,原来并查集是可以的。好一个经典的算法啊。 思路:就是先按速度由小到大排序,然后在合并不在一个集合的元素,并检查起始点是否在一个集合里,如果已经在一个集合里了,那么用这时的速度减去开始合并进来的那个速度,则这个值就是所要求解的值,当然还有没有找到的情况,这个很好考虑了就 1 #include<stdio.h> 2 #include<string.h> 3 #in 阅读全文
posted @ 2011-11-25 22:59 AC_Girl 阅读(268) 评论(0) 推荐(0) 编辑
摘要: 呵呵,这几天复习排序算法,gsb童鞋给我们找了几道题做,这是其中的一道,正好借这道题把所有的排序算法写一遍。题目链接 http://www.bianchengla.com/course/ds/practise/problem?id=1426(有的排序应用于这道题是超时的)1.//直接插入排序#include<stdio.h>#include<iostream>#include<string.h>using namespace std;#define N 10000int a[N];int main(){ int n,i,t,j; int k; cin> 阅读全文
posted @ 2011-11-25 09:27 AC_Girl 阅读(150) 评论(1) 推荐(0) 编辑