洛谷 P3366 【模板】最小生成树

题目描述

如题,给出一个无向图,求出最小生成树,如果该图不连通,则输出orz

输入输出格式

输入格式:

第一行包含两个整数N、M,表示该图共有N个结点和M条无向边。(N<=5000,M<=200000)

接下来M行每行包含三个整数Xi、Yi、Zi,表示有一条长度为Zi的无向边连接结点Xi、Yi

输出格式:

输出包含一个数,即最小生成树的各边的长度之和;如果该图不连通则输出orz

输入输出样例

输入样例#1:
4 5
1 2 2
1 3 2
1 4 3
2 3 4
3 4 3
输出样例#1:
7

说明

时空限制:1000ms,128M

数据规模:

对于20%的数据:N<=5,M<=20

对于40%的数据:N<=50,M<=2500

对于70%的数据:N<=500,M<=10000

对于100%的数据:N<=5000,M<=200000

样例解释:

所以最小生成树的总边权为2+2+3=7

 1 #include<iostream>
 2 #include<cstdio>
 3 #include<algorithm>
 4 
 5 using namespace std;
 6 const int N=200001;
 7 
 8 int n,m;
 9 int f[N];
10 int now=1;
11 
12 struct node{
13     int u,v,w;
14 }E[200001];
15 
16 int cmp(const node & a,const node & b)
17 {
18     return a.w<b.w;
19 }
20 
21 inline int find(int x)
22 {
23     if(f[x]!=x)
24         f[x]=find(f[x]);
25     return f[x];    
26 }
27 
28 inline void un(int x,int y)
29 {
30     int fx=find(x);
31     int fy=find(y);
32     f[fx]=fy;
33 }
34 
35 int main()
36 {
37     scanf("%d%d",&n,&m);
38     for(int i=1;i<=n;i++)
39        f[i]=i;
40     for(int i=1;i<=m;i++)
41     {
42         scanf("%d%d%d",&E[i].u,&E[i].v,&E[i].w);
43     }
44     int ans=0;
45     
46     sort(E+1,E+m+1,cmp);
47     
48     int tot=0;
49     for(int i=1;i<=m;i++)
50     {
51         if(find(E[i].u)!=find(E[i].v))
52         {
53             ans+=E[i].w;
54             tot++;
55             un(find(E[i].u),find(E[i].v));    
56         }
57         if(tot==n-1) break;
58     }
59     if(tot!=n-1)
60     {
61         printf("orz");
62     }
63     else printf("%d",ans);
64     
65     return 0;
66 }

46行的m写成了n,调了好长时间,蠢

转载于:https://www.cnblogs.com/lyqlyq/p/6853632.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/429298.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

陇东学院c语言程序设计,C语言程序设计

spContent《C语言程序设计》是高等学校本科教育普遍开设的一门课程&#xff0c;是广大程序设计语言学习者首选的入门课程。本课程立足于C语言基础知识的讲解&#xff0c;讲授中引入大量实例&#xff0c;突出重点&#xff0c;剖析难点&#xff0c;培养学生结构化程序设计的思想&…

关于android:windowNoTitle不起作用的解决办法

今天测试一个新功能的时候&#xff0c;在styles.xml设置<item name"android:windowNoTitle">true</item>并没有生效&#xff0c;当时很奇怪&#xff0c;以前的项目都这么设置的&#xff0c;并且都能生效&#xff0c;后来发现MainActivity继承的是AppComp…

jQuery笔记——选择器

jQuery 最核心的组成部分就是&#xff1a;选择器引擎。它继承了 CSS 的语法&#xff0c;可以对 DOM 元 素的标签名、属性名、状态等进行快速准确的选择&#xff0c;并且不必担心浏览器的兼容性 常规选择器 根据id选择元素就是使用#&#xff0c;还有两种其他选择元素的方式&…

c语言实现NRZ编码,CSC1001-课后笔记

前言&#xff1a;为什么编写此文1. 根据费曼的学习方法Pretend to teach your topic to a classroom. Make sure youre able to explain the topic in simple terms. 假装你在教室里向学生解释这个主题&#xff0c;用尽量简单的词汇去描述它&#xff0c;力求学生能听懂。(听众…

LeetCode 111. Minimum Depth of Binary Tree

原题 Given a binary tree, find its minimum depth. The minimum depth is the number of nodes along the shortest path from the root node down to the nearest leaf node. 思路一 类似于求最大深度时的递归思路不过需要注意的是当某一节点的左子节点(右子节点类似)为空时…

c语言编程流水灯与交通灯实验,C51单片机实验报告_流水灯_交通灯_定时器_双机交互_时钟.doc...

C51单片机实验报告_流水灯_交通灯_定时器_双机交互_时钟学 号&#xff1a;班 级&#xff1a; 自动化10班姓 名&#xff1a; 张指导老师&#xff1a; 胡2012.12单片机核心板实验要求流水灯实验实验目的&#xff1a;简单I/O引脚的输出掌握软件延时编程方法简单按键输入捕获判断完…

angularjs中的分页指令

自定义指令 import angular from angular;/*** ngdoc module* name components.page* description 分页directive*/ export default angular.module(pageDirective, []).directive(ngPage, function () {return {restrict: E,scope: {totalCount: ,pageSize: ,param: ,pageItme…

金币问题c语言程序,【求助】急请c语言高手帮忙解决程序问题(问题已经被我自己解决,金币送给自己啦)...

不好意思&#xff0c;这是程序后面部分&#xff1a;RHOMOLL,double* X, double& DRHODT);void (__stdcall *FGCTYdll)(double& TK, double& RHOMOLL,double* X, double& FUGACITY);// The following ifdef block is…

xv6/调度算法及并发程序设计

1 在proc.c的scheduler函数中&#xff0c;有两行&#xff1a; if(setjmp(&cpus[cpu()].jmpbuf) 0) longjmp(&p->jmpbuf); 把它修改为&#xff1a; cprintf("setjmp called in scheduler\n"); if(setjmp(&cpus[cpu()].jmpbuf) 0){ cprintf(&qu…

c语言四舍五入取整向上取整,C 语言常用的函数(ceil-向上取整,floor-向下取整,round-四舍五入)...

释放双眼&#xff0c;带上耳机&#xff0c;听听看~&#xff01;1.ceil函数(向上取整)extern float ceilf(float); //参数为flot类型extern double ceil(double); //参数为double类型extern long double ceill(long double); //参数为long double类型举例&#xff1a;向上取整函…

PHP函数之HTMLSPECIALCHARS_DECODE

PHP函数之htmlspecialchars_decode htmlspecialchars_decode &#xff1a;将特殊的 HTML 实体转换回普通字符 htmlspecialchars&#xff1a; 将普通字符转换成实体转载于:https://www.cnblogs.com/lovebing/p/6866484.html

c语言中printk用法,printk和printf的区别

&&&大部分常用的C库函数在Linux内核中都已经得到了实现。在所有没有实现的函数中&#xff0c;最著名的就数printf()函数了。内核代码虽然无法调用printf()函数&#xff0c;但它可以调用printk()函数。printk()函数负责把格式化好的字符串拷贝到内核日志缓冲上&…

《Java技术》第八次作业

《Java技术》第八次作业 &#xff08;一&#xff09;学习总结 1.用思维导图对本周的学习内容进行总结。 2.通过实验内容中的具体实例说明在执行executeUpdate&#xff08;&#xff09;方法和executeQuery&#xff08;&#xff09;方法中使用动态参数时&#xff0c;为什么要使用…

android 短信 aapp,谈谈App的统一跳转和ARouter

App中每次页面跳转,都需要调用统一导航, 它用的非常频繁, 有必要对它进行一下梳理. 让他能用起来简单方便, 同时能支持各种常用的跳转业务场景.一. Android跳转遇到的问题1.intent-filter跳转不好管理Intent intent new Intent();intent.setAction(Intent.ACTION_SENDTO);inte…

android 自定义spnner弹出框,PopupWindow,ListView实现自定义Spinner

最终的效果图,点击86弹出popup这里写图片描述PupupWindow的布局文件为一个ListView 作为pupup的主体内容android:orientation"vertical"android:layout_width"match_parent"android:layout_height"match_parent">android:id"id/register…

hdu 6026 Deleting Edges(最短路计数)

题目链接&#xff1a;hdu 6026 Deleting Edges 题意&#xff1a; 给你n个点&#xff0c;和一个邻接矩阵&#xff0c;非0表示有边&#xff0c;0表示没边。 现在让你删一些边&#xff0c;构成一棵树&#xff0c;使得每个点到0这个点的距离为没删边之前的最短路。 问有多少棵这样的…

android 服务端 导入工程,如何导入与配置从网上下载的android源代码及服务器端源代码...

将Android项目导入import进Eclipse。 注意SDK版本是否匹配 。 服务器部署到Tomcat下。 你得在数据库中将这个点菜系统的数据库和表建好&#xff0c;或者导入。在服务器的代码中修改好你的数据库名和密码。首先看你的服务器配置的是什么环境 一般就2种 linux系统 window系统&…

mysql: 模糊查询 feild like keyword or feild like keyword , concat(feild1,feild2,feild3) like keyword...

mysql: 模糊查询 feild like %keyword% or feild like% keyword% , 或者 concat(feild1,feild2,feild3) like %keyword% 转载于:https://www.cnblogs.com/achengmu/p/6877852.html

android按钮控件常见问题,Android的基本控件和Activity的应用总结

Android的基本控件常用界面控件TextView 显示文本信息button 普通按钮EditText 可编辑的文本框组件(输入框)ImageView 用于显示图片ImageBUtton 图片按钮CheckBox 复选框RadioGroup 单选按钮组Spinner 下拉列表组件ProgressBar进度条SeekBar拖动条RatingBar评分组件ListView列表…

Xamarin XAML语言教程构建进度条ProgressBar

Xamarin XAML语言教程构建进度条ProgressBar Xamarin XAML语言教程构建进度条ProgressBar&#xff0c;ProgressBar被称为进度条&#xff0c;它类似于没有滑块的滑块控件。进度条总是水平放置的。本节将讲解如何使用进度条。注意&#xff1a;进度条在各个平台下基本相同&#xf…