HDU 3371 Connect the Cities 最小生成树(和关于sort和qsort的一些小发现)
2014-02-24 21:57
507 查看
解题报告:有n个点,然后有m条可以添加的边,然后有一个k输入,表示一开始已经有k个集合的点,每个集合的点表示现在已经是连通的了。
还是用并查集加克鲁斯卡尔。只是在输入已经连通的集合的时候,通过并查集将该集合的点标记到一起,然后剩下的就可以当成是普通的最小生成树来做了题目代码如下:
View Code
还是用并查集加克鲁斯卡尔。只是在输入已经连通的集合的时候,通过并查集将该集合的点标记到一起,然后剩下的就可以当成是普通的最小生成树来做了题目代码如下:
#include<cstdio> #include<iostream> #include<algorithm> #include<time.h> using namespace std; const int maxn = 100000; int que[maxn]; int cmp(const void *a,const void *b) { return (*(int*)a) <= (*(int*)b)? -1:1; } bool comp(int a,int b) { return a <= b; } int main() { for(int i = maxn - 1;i >=0;--i) que[i] = i; int s = clock(); qsort(que,maxn,sizeof(int),cmp); int e = clock(); printf("t_qsort = %d\n",e - s); s = clock(); sort(que,que+maxn,comp); e = clock(); printf("t_sort = %d\n",e - s); return 0; }
View Code
相关文章推荐
- hdu 3371 Connect the Cities(最小生成树)
- HDU_3371 Connect the cities(最小生成树)
- HDU 3371 Connect the Cities (最小生成树 并查集+克鲁斯卡尔)
- hdu 3371 Connect the Cities(最小生成树kruskal)
- hdu 3371 Connect the Cities (最小生成树Prim)
- hdu 3371 Connect the Cities (最小生成树)
- (step6.1.7)hdu 3371(Connect the Cities——最小生成树)
- [HDU] 3371 Connect the Cities [最小生成树,并查集,Kruskal]
- hdu 3371 Connect the Cities 最小生成树
- HDU 3371 Connect the Cities (最小生成树+克鲁斯卡尔算法)
- HDU 3371 Connect the Cities 【最小生成树,Prime算法+Kruskal算法】
- HDU 3371 Connect the Cities 并查集+Kruskal算法+最小生成树
- hdu 3371 最小生成树Connect the Cities
- hdu 3371 Connect the Cities 最小生成树
- HDU 3371 Connect the Cities 最小生成树
- 文章标题 HDU 3371 : Connect the Cities(最小生成树--Kruskal+并查集)
- HDU-3371 Connect the Cities(最小生成树)
- HDU 3371 Connect the Cities(最小生成树)
- hdu 3371 Connect the Cities(最小生成树))
- hdu 3371(Connect the Cities)(最小生成树)