HDU 1223 还是畅通工程(最小生成树prim模板)
一个很简单的prim模板,但虽然是模板,但也是最基础的,也要脱离模板熟练打出来
后期会更新kruskal写法
#include<iostream>
#include<cstdio>
#include<cstring>
#include<cmath>
#include<algorithm>
using namespace std;
const int maxn = 1000;
const int INF = 0x3f3f3f3f;//int型最大值
int Map[maxn][maxn],vis[maxn];
int n,dis[maxn],ans;void init(){for(int i=1;i<=n;i++){for(int j=1;j<=n;j++){if(i==j)Map[i][j]=0;else Map[i][j]=INF;}}ans=0;memset(vis,0,sizeof(vis));
}void input(){int u,v,w;for(int i=0;i<n*(n-1)/2;i++){scanf("%d%d%d",&u,&v,&w);if(Map[u][v]>w)Map[u][v]=Map[v][u]=w;}
}int prim(){for(int i=1;i<=n;i++){dis[i]=Map[1][i];}vis[1]=1;for(int i=1;i<n;i++){int MIN=INF,x=-1;for(int j=1;j<=n;j++){if(!vis[j]&&dis[j]<MIN){//每一次都取该结点和其他相邻的结点的最小值 MIN=dis[j];x=j;}}if(x==-1)return -1;ans+=MIN;vis[x]=1;//标记已经过的节点 for(int j=1;j<=n;j++){if(!vis[j]&&dis[j]>Map[x][j]){//更新dis数组, dis[j]=Map[x][j];}}}
}int main(){while(scanf("%d",&n)&&n){init();//初始化 input();//输入 prim();//关键 printf("%d\n",ans);}return 0;
}
转载于:https://www.cnblogs.com/lived-hu/p/9838917.html
HDU 1223 还是畅通工程(最小生成树prim模板)相关推荐
- HDU 1863畅通工程(最小生成树)(prim算法)
畅通工程 Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total Submi ...
- hdu 1233 还是畅通工程 最小生成树(prim算法 + kruskal算法)
还是畅通工程 Time Limit: 4000/2 ...
- hdu 1879 继续畅通工程 最小生成树
继续畅通工程 Time Limit: 2000/ ...
- HDU 1879 继续畅通工程 最小生成树
继续畅通工程 Time Limit:1000MS Memory Limit:32768KB 64bit IO Format:%I64d & %I64u Description ...
- 畅通工程//最小生成树prim
题目: 畅通工程 Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total S ...
- hdu 1879 继续畅通工程 (最小生成树)
继续畅通工程 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total Sub ...
- hdu 1233 还是畅通工程(最小生成树的Prim和Kruskal两种算法的c++实现)(prim算法详解)...
赤裸裸滴最小生成树(MST),刚学的玩意,用两种方法熟练一下.(都是greedy) Kruskal方法:先对边按照代价非递减排序,再不断添加边且不产生环路,当边数=点数-1结束.判断加入(v,w)是否 ...
- hdu 1879 继续通畅工程(最小生成树)
题目:http://acm.hdu.edu.cn/showproblem.php?pid=1879 /************************************************* ...
- HDU 1233 还是畅通工程(最小生成树 Prim+Kruskal)
原题地址 http://acm.hdu.edu.cn/showproblem.php?pid=1233 题意:(最小生成树裸题)有N个村庄,给出村庄两两之间的距离,要求铺设公路,使得任何两个村庄间都可 ...
最新文章
- 情感识别难?图神经网络创新方法大幅提高性能
- 网易严选画像建设实践
- BZOJ 4244 邮戳拉力赛 (DP)
- java中的垃圾回收机
- 财务造假10年!贾跃亭被罚2.41亿
- 如何将用户迁移到SQL Server中的部分包含的数据库
- HDU1087 Super Jumping! Jumping! Jumping!【最长上升子序列+DP】
- 大数据第一季--Hadoop(day4)-徐培成-专题视频课程
- iOS 10 消息推送(UserNotifications)秘籍总结(一)
- Shadowmask
- 李开复清华演讲:为什么今天是人工智能的黄金时代?
- 欧美html游戏,欧美HTML社区服务游戏
- 多目标追踪-2019综述《Deep Learning in Video Multi-Object Tracking: A Survey》
- Worktile中的实时消息推送服务实现
- [windows 10]当前桌面壁纸的保存位置
- vue 报错vue : 无法加载文件 D:\wjx_tools\node\node_global\vue.ps1,因为在此系统上禁止运行脚本。有关详细信息,请参阅 https:/go.microsof
- 【VBA】Speech.Speak 指定语音库
- 数据结构:字符串 C++
- xcode9.4网盘资源
- 【金融量化】什么叫市价单、限价单和停止单?
热门文章
- Github排序(转载)
- 单行函数(数值函数)
- 2002-2003 ACM-ICPC Northeastern European Regional Contest (NEERC 02)
- (转)goldengate 复制进程replicat出现ORA-01403 错误
- LINUX 第六章 Open WebMail完全安装手册
- html图片上加水印,css给图片添加水印
- 最大子序列求和_连续子序列最大和与乘积问题的分析
- 以下构成python循环结构的方法中_《Python程序设计与案例教程》课件chap5循环结构程序设计.ppt...
- python写我爱你_12个精选Python教程我的初恋故事。
- 笔记本电脑自带麦克风吗_想让声音变得好听吗,不花一分钱,让你的电脑拥有外置麦克风...