07:清泉-改(prime+堆)
- 时间限制:
- 10000ms
- 单个测试点时间限制:
- 1000ms
- 内存限制:
- 512000kB
- 描述
- 
华北电力大学可以抽象为一张有n个点m条边的无向图. 现在所有的边都断了. 修复每条边都有个不同的代价w_i. 求让所有点都能互相到达的最小代价和. 
- 输入
- 第一行两个正整数 n, m 表示顶点数和边数
接下来m行每行三个正整数 u v w 表示一条边 (u和v是边的端点, w是边权) 
- 输出
- 输出一行一个正整数表示答案
- 样例输入
- 
2 2 
 1 2 2
 2 1 3
- 样例输出
- 
2 
- 提示
- n ≤ 10^5, m ≤ 3*10^5, w ≤ 10^4 保证有解
- 来源
- laekov
- 
#include<iostream> 
 #include<cstdio>
 #include<cstring>
 #include<algorithm>
 #include<queue>
 using namespace std;
 const int MAXN=;
 const int maxn=0x3f;
 void read(int &n)
 {
 char c='+';int x=;bool flag=;
 while(c<''||c>''){c=getchar();if(c=='-')flag=;}
 while(c>=''&&c<='')
 x=(x<<)+(x<<)+c-,c=getchar();
 flag==?n=-x:n=x;
 }
 struct node
 {
 int u,v,w,nxt;
 }edge[MAXN];
 int head[MAXN];
 int num=;
 int add_edge(int x,int y,int z)
 {
 edge[num].u=x;
 edge[num].v=y;
 edge[num].w=z;
 edge[num].nxt=head[x];
 head[x]=num++;
 }
 int n,m;
 int vis[MAXN];
 int dis[MAXN];
 struct pr
 {
 int p,v;
 pr()
 {p=v=;}
 pr(int a,int b)
 {p=a;v=b;}
 bool operator<(const pr&a)const
 {return v>a.v;}
 }inc;
 void prime()
 {
 //vis[1]=1;
 priority_queue<pr>q;
 memset(dis,maxn,sizeof(dis));
 dis[]=;
 q.push(pr(,));
 int ans=;
 // for(int i=head[1];i!=-1;i=edge[i].nxt)
 // q.push(pr(edge[i].v,edge[i].w)); for(int k=;k<=n;k++)
 {
 int pos;
 while(vis[q.top().p]&&q.size()>=)
 q.pop(); pos=q.top().p;
 vis[pos]=;
 ans+=dis[pos];
 for(int i=head[pos];i!=-;i=edge[i].nxt)
 if(vis[edge[i].v]==&&dis[edge[i].v]>edge[i].w)
 {
 dis[edge[i].v]=edge[i].w;
 q.push(pr(edge[i].v,edge[i].w));
 } }
 printf("%d",ans);
 }
 int main()
 {
 read(n);read(m);
 memset(head,-,sizeof(head));
 for(int i=;i<=m;i++)
 {
 int x,y,z;
 read(x);read(y);read(z);
 add_edge(x,y,z);
 add_edge(y,x,z);
 }
 prime();
 return ;
 }
07:清泉-改(prime+堆)的更多相关文章
- NOIP2016考前做题(口胡)记录
		NOIP以前可能会持续更新 写在前面 NOIP好像马上就要到了,感觉在校内训练里面经常被虐有一种要滚粗的感觉(雾.不管是普及组还是提高组,我都参加了好几年了,结果一个省一都没有,今年如果还没有的话感觉 ... 
- jacob访问ocx控件方法和遇到的问题
		最近在进行摄像机的二次开发,摄像机厂商提供了使用C++开发的ocx控件:所以尝试使用jacob来进行访问. 操作步骤如下: 1, 从官网(http://sourceforge.net/projects ... 
- POJ1258 基础最小生成树
		本文出自:http://blog.csdn.net/svitter 题意:给出一个数字n代表邻接矩阵的大小,随后给出邻接矩阵的值.输出最小生成树的权值. 题解: prime算法的基本解法: 1.选择一 ... 
- asp.net core 系列之并发冲突
		本文介绍如何处理多个用户并发更新同一实体(同时)时出现的冲突 . 主要是两种:一种,检查属性并发冲突,使用 [ConcurrencyCheck] ;另一种,检测行的并发冲突,使用 rowversion ... 
- 通过__block的作用深入研究block
		block普通引用 默认情况下,在block中访问外部变量是通过复制一个变量来操作的,既可以读,但是写操作不对原变量生效,下面通过代码来举证 NSString *a = @"testa&qu ... 
- 【POJ3635】Full Tank 优先队列BFS
		普通BFS:每个状态只访问一次,第一次入队时即为该状态对应的最优解. 优先队列BFS:每个状态可能被更新多次,入队多次,但是只会扩展一次,每次出队时即为改状态对应的最优解. 且对于优先队列BFS来说, ... 
- 应用程序发生异常 unknown software exception (0xc00000fd)... - 栈溢出(Stack overflow)
		今天在写程序的时候,弹出这样的提示对话框: 应用程序发生异常 unknown software exception (0xc00000fd): 相关代码是这样,在一个函数中读取一个csv文件,先根据这 ... 
- 【LeetCode】065-验证数字
		写在前面 前面研究OS的经历实在是令人心力憔悴..所以换个新鲜的,把自己的刷题感悟整理一番.刷了有些题了,就先拿最近几天hard题打头阵吧.首先说的是(065)Valid Number这个题,其实一眼 ... 
- JavaScript筑基篇(二)->JavaScript数据类型
		说明 介绍JavaScript数据类型 目录 前言 参考来源 前置技术要求 JavaScript的6种数据类型 哪6种数据类型 undefined 类型 null 类型 boolean 类型 numb ... 
随机推荐
- luogu 1593 因子和
			因子和 题目描述 输入两个正整数a和b,求\(a^b\)的因子和.结果太大,只要输出它对9901的余数. 解法 基本算数定理,每一个数都可以被分解成一系列的素数的乘积,然后你可以分解出因数了. 如何求 ... 
- SqlServer数据库字典
			网上有很多SQL Server数据库字典的SQL语句,七零八落,我在工作整理了一下思路,总结SQL代码如下.数据库字典包括表结构(分2K和2005).索引和主键. 外键.约束.视图.函数.存储过程.触 ... 
- SQLSERVER 链接服务器
			1. 执行代码 EXEC sp_addlinkedserver @server='XLZFSqlServer', --链接服务器别名 @srvproduct='', @provider='SQLOLE ... 
- usaco No Change, 2013 Nov 不找零(二分查找+状压dp)
			Description 约翰带着 N 头奶牛在超市买东西,现在他们正在排队付钱,排在第 i 个位置的奶牛需要支付 Ci 元.今天说好所有东西都是约翰请客的,但直到付账的时候,约翰才意识到自己没带钱,身 ... 
- es6总结(二)
			1.es6三种声明方式: a.var 全局声明 b.let 局部变量声明 c.const 常量声明 2.变量的解构赋值 a.数组的解构赋值 等号左边与右边形式统一 let [a,[b,c] ... 
- <Android Framework 之路>Android5.1 Camera Framework(四)——框架总结
			前言 从之前的几篇文件,可以基本弄清楚 Camera从APK,经过framework的衔接,与HAL层进行交互,最终通过驱动完成Camera的一些动作. Camera层次分析 APP层 Framewo ... 
- scrollBot滚动条美化,niceScroll有滚动条错位得问题
			http://www.htmleaf.com/Demo/201706204585.html 
- .net基础总复习(2)
			第二天 文件操作常用类 File类 //操作文件的 //复制.剪切.创建.移除 //File.Create(@"C:\Users\BDSOFT\Desktop\new.txt" ... 
- IOS - PDF合并
			#pragma mark - Merge PDF - (void)mergePDF { NSArray *paths = NSSearchPathForDirectoriesInDomains(NSD ... 
- 基于better-scroll封装一个上拉加载下拉刷新组件
			1.起因 上拉加载和下拉刷新在移动端项目中是很常见的需求,遂自己便基于better-scroll封装了一个下拉刷新上拉加载组件. 2.过程 better-scroll是目前比较好用的开源滚动库,提供很 ... 
