当前位置: 首页 > news >正文

HDU 2122 Ice_cream’s world III

题目来源:http://acm.hdu.edu.cn/showproblem.php?pid=2122

      最小生成树问题,可采用Kruskal算法,贪心策略,每次选取无向带权图的最短边,并把两端点用

并查集的方式添加到一个集合内。

 1 #include<stdio.h>
 2 #include<string.h>
 3 #include<algorithm>
 4 const int maxn=1000+5,maxm=10000+10;
 5 int u[maxm],v[maxm],w[maxm],r[maxm],p[maxn];
 6 int cmp(const int i,const int j) { return w[i]<w[j];}
 7 int find_parent(int x)
 8 {
 9     if(p[x]==-1)
10         return x;
11     p[x]=find_parent(p[x]);
12     return p[x];
13 }
14 int main()
15 {
16     int n,m;
17     while(scanf("%d%d",&n,&m)!=EOF){
18         for(int i=1;i<=m;i++){
19             scanf("%d%d%d",&u[i],&v[i],&w[i]);
20             r[i]=i;
21         }
22         memset(p,-1,sizeof(p[0])*n);
23         std::sort(r+1,r+m+1,cmp);
24         int anscost=0;
25         for(int i=1;i<=m;i++){
26             int e=r[i],up=find_parent(u[e]),vp=find_parent(v[e]);
27             if(up!=vp){
28                 p[vp]=up;
29                 anscost+=w[e];
30             }
31         }
32         int flag=0;
33         for(int i=0;i<n;i++)
34             if(p[i]==-1){
35                 flag++;
36             }
37         if(flag>1)
38             printf("impossible\n");
39         else
40             printf("%d\n",anscost);
41         printf("\n");
44     }
45     return 0;
46 }

 

转载于:https://www.cnblogs.com/BMESwimming/p/3880838.html

相关文章:

  • 九、IIC驱动原理分析
  • mongodb安装
  • H5(WebView)跳Native(UIView)
  • poj 2888 Magic Bracelet
  • 导入【 http://ip.qq.com/js/geo.js】外部省市县三级地区到Mysql数据库
  • 前端代码风格自动化系列(二)之Commitlint
  • SharePoint 2013 Designer 入门教程
  • SparkStreaming的实战案例
  • const let
  • 冷启动问题:如何构建你的机器学习组合?
  • hive报错 Another instance of Derby may have already booted the database
  • iOS应用审核的通关秘籍【转】
  • QTP常用功能
  • TCP三次握手
  • (原創) X61用戶,小心你的上蓋!! (NB) (ThinkPad) (X61)
  • 【编码】-360实习笔试编程题(二)-2016.03.29
  • 3.7、@ResponseBody 和 @RestController
  • JavaScript 事件——“事件类型”中“HTML5事件”的注意要点
  • KMP算法及优化
  • Map集合、散列表、红黑树介绍
  • Traffic-Sign Detection and Classification in the Wild 论文笔记
  • 关于 Cirru Editor 存储格式
  • 极限编程 (Extreme Programming) - 发布计划 (Release Planning)
  • 漫谈开发设计中的一些“原则”及“设计哲学”
  • 入口文件开始,分析Vue源码实现
  • 试着探索高并发下的系统架构面貌
  • 智能合约Solidity教程-事件和日志(一)
  • 字符串匹配基础上
  • CMake 入门1/5:基于阿里云 ECS搭建体验环境
  • 东超科技获得千万级Pre-A轮融资,投资方为中科创星 ...
  • 好程序员大数据教程Hadoop全分布安装(非HA)
  • 如何在招聘中考核.NET架构师
  • ​【已解决】npm install​卡主不动的情况
  • # 计算机视觉入门
  • #{}和${}的区别是什么 -- java面试
  • (02)Cartographer源码无死角解析-(03) 新数据运行与地图保存、加载地图启动仅定位模式
  • (1)Android开发优化---------UI优化
  • (读书笔记)Javascript高级程序设计---ECMAScript基础
  • (多级缓存)缓存同步
  • (二)c52学习之旅-简单了解单片机
  • (附源码)计算机毕业设计高校学生选课系统
  • (更新)A股上市公司华证ESG评级得分稳健性校验ESG得分年均值中位数(2009-2023年.12)
  • (力扣记录)1448. 统计二叉树中好节点的数目
  • (转)创业家杂志:UCWEB天使第一步
  • (转)清华学霸演讲稿:永远不要说你已经尽力了
  • ***通过什么方式***网吧
  • .class文件转换.java_从一个class文件深入理解Java字节码结构
  • .dat文件写入byte类型数组_用Python从Abaqus导出txt、dat数据
  • .mkp勒索病毒解密方法|勒索病毒解决|勒索病毒恢复|数据库修复
  • .NET CLR Hosting 简介
  • .NET3.5下用Lambda简化跨线程访问窗体控件,避免繁复的delegate,Invoke(转)
  • @Conditional注解详解
  • @RequestParam @RequestBody @PathVariable 等参数绑定注解详解
  • [ 渗透测试面试篇 ] 渗透测试面试题大集合(详解)(十)RCE (远程代码/命令执行漏洞)相关面试题
  • [ 渗透工具篇 ] 一篇文章让你掌握神奇的shuize -- 信息收集自动化工具