首页 > 其他分享 >洛谷P1111修复公路

洛谷P1111修复公路

时间:2022-12-04 22:34:21浏览次数:41  
标签:P1111 洛谷 修复 int ++ return include find const

思路:并查集

 1 #include<cstdio>
 2 #include<iostream>
 3 #include<algorithm>
 4 #include<math.h>
 5 #include<vector>
 6 #include<set>
 7 using namespace std;
 8 
 9 int f[1005] = { 0 };
10 
11 int find(int x) { return f[x] == x ? x : f[x] = find(f[x]); }
12 void merge(int i, int j) { f[find(i)] = find(j); }
13 
14 bool judge(int n) {         //判断所有村庄是否连通
15     int x = find(0);
16     for (int i = 0; i < n; i++) {
17         if (find(f[i]) != x) return false;
18     }
19     return true;
20 }
21 struct road {
22     int a, b, c;
23 }x[100005];
24 struct cmp {        //自定义multiset容器排序规则(升序)
25     bool operator()(const road& a, const road& b) const{
26         return a.c < b.c || a.c == b.c;
27     }
28 };
29 int main() {
30     int n, m;
31     bool fx = false;
32     multiset<road,cmp>h;
33     scanf("%d %d", &n, &m);
34     for (int i = 0; i < n; i++) f[i] = i;   //初始化  
35     for (int i = 0; i < m; i++) {
36         scanf("%d %d %d", &x[i].a, &x[i].b,&x[i].c);
37         h.insert(x[i]);
38     }
39     for (multiset<road>::iterator it = h.begin(); it != h.end(); it++) {
40         //printf("%d %d %d\n",(*it).a, (*it).b, (*it).c);
41         merge((*it).a, (*it).b);
42         if (judge(n)) {
43             printf("%d", (*it).c);
44             fx = true;
45             break;
46         }
47     }
48     if(!fx) printf("-1");
49     return 0;
50 }

 

标签:P1111,洛谷,修复,int,++,return,include,find,const
From: https://www.cnblogs.com/Explosion556/p/16951014.html

相关文章

  • vim编辑器中文乱码修复
    Vim是老式UNIX编辑器Vi的大幅改进版本。新增功能:多级撤消、语法高亮、命令行历史记录、在线帮助、拼写检查、文件名补全、块操作、脚本语言等。还有一个图形用户界面(GUI......
  • 数据-修复
    --转自参考:https://sql.zhizuobiao.com/sql-18061300026/本文主要向大家介绍了SQLServer数据库损坏、检测以及简单的修复办法,通过具体的实例让大家了解,希望对大家学习SQLS......
  • 修复zeosdbo-7.2.14-stable FindFirst和FindLast只有一条记录时返回false的Bug
    zeosdbo-7.2.14-stable/src/component/ZAbstractRODataset.pas将ZAbstractRODataset.pas第4396行改为(红字行):{Findsarecord.}SavedFilterEnabled:=FilterEna......
  • 【洛谷P8866】喵了个喵
    题目题目链接:https://www.luogu.com.cn/problem/P8866小E喜欢上了一款叫做《喵了个喵》的游戏。这个游戏有一个牌堆和\(n\)个可以从栈底删除元素的栈,任务是要通过游......
  • 洛谷 P1891 疯狂 LCM
    \(\text{lcm}\)不好处理,转化为\(\gcd\):\[n\sum_{i=1}^n\frac{i}{\gcd(i,n)}\]\(\gcd\)相关题目的套路——枚举因数:\[n\sum_{d|n}\sum_{i=1}^n\fracid[......
  • 热修复原理解析(阿里系,腾讯系)
    热修复1.阿里系:DeXposed。andfix从底层C的二进制来入手的。2.腾讯系:tinkerJava类加载机制来入手的。原理图:什么是热修复?一般的bug修复,都是等下一个版本解决,然后发布新......
  • 洛谷 P4552 [Poetize6] IncDec Sequence(差分)
    题目分析直接贴一个洛谷上的题解,真的秀,讲的又清楚又好要使得序列的数全部相等,其实就是让他们之间的差全为0,也就是差分序列的除了第一项每一项都是0,为什么除了第一项呢,因......
  • 洛谷 P1387 最大正方形(前缀和,二分)
    题目分析当一个边长为x的正方形不包含0时,这个正方形内的二维前缀和为x*x,题目想求满足条件的最大的正方形的边长假如最大的正方形的边长为ans,那么凡是边长大于ans的正方形......
  • 洛谷 P1205 [USACO1.2] 方块转换 Transformations
    [USACO1.2]方块转换Transformations题目描述一块\(n\timesn\)正方形的黑白瓦片的图案要被转换成新的正方形图案。写一个程序来找出将原始图案按照以下列转换方法转......
  • 洛谷-P5541 Sleepy Cow Herding S
    SleepyCowHerdingSSleepyCowSorting的升级版,从\(3\)头牛变成\(n\)的情况分类讨论+双指针先把答案本就连续的特判丢掉最大值最大值就尽量把每个空位......