- 博客(9)
- 收藏
- 关注
原创 HUD 1233 还是畅通工程
思想:简单最小生成树,kruskal。 #include #include #include #include #include #include using namespace std; int per[105]; int m; void init() { for(int i = 0; i < 105; i ++) { per[i] = i;
2017-04-08 20:56:33 167
原创 HDU1856 More is better
大致思路:并查集,每次合并时都将两个根节点的num值合并,循环一遍找到最大的num值即可。 坑点!!! “如果Mr Wang 不挑选的话,房间里会有一个男孩被留下”,当n=0时,输出 1。 (一定要注意特殊值,一定要好好读题,切记切记~~) #include #include #include #include #include using namespa
2017-04-08 20:55:00 165
原创 HDU1325Is It A Tree?
这题竟然卡了那么长时间。。。哈哈哈哈终于过了 大致思路:判断是否连通,是否成环,是否满足每个节点的入度 注意两(坑)点:要特判开始为 0 的情况;都 小于 0的时候结束。
2017-04-08 20:51:27 167
原创 HDU 1272 小希的迷宫
#include #include #include #include #include using namespace std; int per[1000005]; bool vis[1000005]; int find(int x)//找根节点; { int i = x; while(i != per[i]) { i = per[i]; }
2017-04-08 20:35:32 169
原创 HDU 1879 继续畅通工程
思想:最小生成树,Kruskal。 #include #include #include #include #include using namespace std; int per[105]; int n; struct Edge { int x; int y; int dis; }edge[5005]; bool cmp(Edge a, Edge b) {
2017-04-08 20:30:42 150
原创 HDU 1875 畅通工程再续
大致思路:基础最小生成树,kruskal。循环两遍把每两个点的距离计算出来即可,注意是浮点型。 #include #include #include #include #include using namespace std; int per[105],dian[2][105]; double jsjl(int a,int b, int c, int d)//计算两点之间的距离;
2017-04-08 19:57:25 175
原创 HDU 1232 畅通工程
|版权声明:本文为博主原创文章,未经博主允许不得转载。 基础并查集 #include #include #include #include #include #include using namespace std; int per[1005]; int n,m; void init() { for(int i = 0; i <= n; i ++ ) { pe
2017-04-08 19:44:55 125
原创 HDU 1213 How Many Tables
HDU 1213 How Many Tables 考察基础的并查集。 #include #include #include #include #include #include using namespace std; int m,n; int per[1005]; void init()//初始化; { for(int i = 0; i <= n; i ++) {
2017-04-08 19:35:25 187
原创 HDU 1102 Constructing Roads
HDU 1102 Constructing Roads 思想:简单最小生成树,kruskal。 结构体数组的范围一定要注意 不 要 开 小 了 ,因为这个问题时间超限n次, 还找不出来o(╯□╰)o,还有就是注意一些细节问题。
2017-04-08 19:30:21 257
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人