【模板】prim的heap优化
简单的代码。。
时间复杂度为O((n + m)logn)
大部分情况下还是跑不过kruskal的,慎用。
1 #include <cstdio> 2 #include <queue> 3 #include <cstring> 4 #define heap pair<int, int> 5 6 using namespace std; 7 8 int n, m, cnt, ans; 9 int head[5001], to[400001], next[400001], val[400001]; 10 bool vis[5001]; 11 priority_queue <heap, vector <heap>, greater <heap> > q; 12 13 inline void add(int x, int y, int z) 14 { 15 to[cnt] = y; 16 val[cnt] = z; 17 next[cnt] = head[x]; 18 head[x] = cnt++; 19 } 20 21 inline void queue_prim() 22 { 23 int i, u, v, tot = n; 24 heap x; 25 q.push(make_pair(0, 1)); 26 while(!q.empty() && tot) 27 { 28 x = q.top(); 29 q.pop(); 30 u = x.second; 31 if(vis[u]) continue; 32 vis[u] = 1; 33 ans += x.first; 34 tot--; 35 for(i = head[u]; i != -1; i = next[i]) 36 { 37 v = to[i]; 38 if(!vis[v]) q.push(make_pair(val[i], v)); 39 } 40 } 41 } 42 43 int main() 44 { 45 int i, x, y, z; 46 memset(head, -1, sizeof(head)); 47 scanf("%d %d", &n, &m); 48 for(i = 1; i <= m; i++) 49 { 50 scanf("%d %d %d", &x, &y, &z); 51 add(x, y, z); 52 add(y, x, z); 53 } 54 queue_prim(); 55 printf("%d", ans); 56 return 0; 57 }
View Code
转载于:https://www.cnblogs.com/zhenghaotian/p/6740425.html
【模板】prim的heap优化相关推荐
- js添加keyword让搜索引擎能够搜到_搜索引擎优化考试培训任务书模板 ——XX网站SEO优化方案...
一.考试形式及内容: 1.每位同学独立完成网站诊断报告与网站优化方案撰写. 2.考试采用项目考试形式,要求学生在规定时间内提交项目作品. 二.考试时间: 项目持续时间:2020年5月25日-2016年 ...
- TVM:使用 Schedule 模板和 AutoTVM 来优化算子
TVM:使用 Schedule 模板和 AutoTVM 来优化算子 在本文中,我们将介绍如何使用 TVM 张量表达式(Tensor Expression,TE)语言编写 Schedule 模板,Aut ...
- USACO07DEC道路建设Building Roads(prim算法+堆优化与Kruskal+路径压缩对比)
目录 primprimprim算法 KruskalKruskalKruskal算法 P2872 [USACO07DEC]道路建设Building Roads 4 1 1 1 3 1 2 3 4 3 1 ...
- 模板模式+策略模式优化
前言 写在最前面,最近在项目中发现一部分代码,可以用模板模式+策略模式来进行优化. 背景 业务中,系统中对订单状态的处理,需要发送对用户短信发送或者微信推送等操作. 发送短信和微信推送钱,需要处理逻辑 ...
- Php资讯瀑布流模板,无限下拉加载瀑布流zblogphp模板 还有自适应+seo优化-收费zblogphp模板-天兴工作室...
主题更新: 2019年01月11日更新:此次更新较大,请老用户先浏览演示网站确定符合需求后再升级. 1.增加主题自带seo配置(新增seo标题和间隔符): 2.大幅度优化了界面,彻底修复了某些分辨率下 ...
- 模板:容斥优化多重方案背包
所谓容斥优化多重方案背包,就是利用容斥去优化统计方案的多重背包 (逃) 前言 考场上因为不会这个玩意活活把100分正解挂成了70 qwq 思想还是很妙的 就是先当完全背包做,然后扣去多统计的情况 注意 ...
- 最小生成树(模板 prim)
Description 省政府"畅通工程"的目标是使全省任何两个村庄间都可以实现公路交通(但不一定有直接的公路相连,只要能间接通过公路可达即可).现得到城镇道路统计表, 表中列出了 ...
- 模板 · ISAP网络流+GAP优化+弧优化
//ISAP+GAP优化+弧优化 #include <bits/stdc++.h> using namespace std; const int INF = 0x7f7f7f7f; str ...
- ac自动机(模板+一点点小优化)
题意:给定n个模式串和1个文本串,求有多少个模式串在文本串里出现过. 题解:ac自动机+加一点点优化,否则过不了,具体见代码,就一行代码. 传送门 #include<iostream> # ...
最新文章
- mac brew 安装
- 百度网盘推荐部分优秀的分享达人
- 如何避免贫穷和忙碌,在2018年你需要这样提升自己 2018年01月07日 00:00:00 2099 热文导读 | 点击标题阅读 Java和Android架构2017年总结:文章精选 吊炸天!74
- 一句话实现php日期转中文汉字
- ZooKeeper命令、命令行工具及简单操作
- c++ udp通信_Web 通信协议,你还需要知道:SPDY 和 QUIC
- C语言初学必练100道
- 发布海外媒体稿件更好帮助企业海外营销推广
- 智能数字看板解决方案
- win10双显卡开机黑屏时间长
- SSL: error:0B080074:x509 certificate routines:X509_check_private_key:key values mismatch
- 添加 右键显示隐藏文件+扩展名
- Linux Oracle dbf文件误删 恢复操作
- 进销存软件哪个简单好用?来看看这5款
- 【linux创建用户启动tomcat】
- 编译原理(龙书第二版)--怎么求FIRST集
- app测试日志如何获取,logcat值得拥有
- 惯性测量单元(IMU)传感器--MEMS微纳制造系列简报
- 目标检测论文阅读:YOLOv1算法笔记
- 市场调研报告-全球与中国商用压缩机市场现状及未来发展趋势
热门文章
- python如何读取二进制文件为图片_python读取图片,并获取每个像素点的二进制值...
- nacos 配置动态刷新_使用 Spring Cloud Alibaba Nacos Config 作为配置中心
- Python群机器人发送城市天气情况
- 计算机编程c 语言实型数据,C语言-基础教程-C语言实型数据
- mysqlslap 压力测试工具
- ****** 四 ******、软设笔记【数据结构】-排序、插入排序、选择排序
- Facebook发布基站开源平台OpenCellular
- 【编译打包】fastdfs-5.0.5-7.el7.centos.src.rpm
- 图片加载库Glide
- activiti 常见问题总结