hiho刷题日记——第二十六天最小生成树一·Prim算法
来源:互联网 发布:编程 几率怎么写 编辑:程序博客网 时间:2024/05/08 05:38
题目
用Prim算法做最小生成树
思路
从1开始。将1加入已连接的点。
找到(可以连接到已连接的点)的权值最小的边。
将其的另一端点加入已连接的点。重复到结束。
我这里用了一个d[i]来存储到 i 最小的权值。
代码
#include<cstdio>#include<cstring>using namespace std;const int MAXN=1000+1;int N,g[MAXN][MAXN],vis[MAXN],d[MAXN],k;int prim(){ int ans=0; memset(vis,0,sizeof(vis)); d[0]=100000; for(int i=1;i<=N;i++) d[i]=g[1][i]; vis[1]=1; for(int i=1;i<N;i++) { k=0; for(int j=2;j<=N;j++) if(!vis[j] && d[j]<d[k]) k=j; vis[k]=1; ans+=d[k]; for(int j=2;j<=N;j++) if(!vis[j] && g[k][j]<d[j]) d[j]=g[k][j]; } return ans;}int main(){ scanf("%d",&N); for(int i=1;i<=N;i++) for(int j=1;j<=N;j++) scanf("%d",&g[i][j]); printf("%d",prim()); return 0;}
0 0
- hiho刷题日记——第二十六天最小生成树一·Prim算法
- hiho一下 第二十六周---最小生成树一·Prim算法
- hihoCoder - hiho一下 第二十六周 - A - 最小生成树一·Prim算法
- hiho刷题日记——第二十九天最小生成树三·堆优化的Prim算法
- hiho 1097 : 最小生成树一·Prim算法
- hiho刷题日记——第二十七天最小生成树二·Kruscal算法
- hiho最小生成树一(prim)算法
- hiho一下 第二十八周 最小生成树三·堆优化的Prim算法
- ACM日记——最小生成树.prim算法
- hiho刷题日记——第二天Trie树
- hiho刷题日记——第二十四天最短路径·二:Floyd算法
- hiho刷题日记——第二十三天最短路径·一
- hiho 29 最小生成树三·堆优化的Prim算法
- HIHO #1109 : 最小生成树三·堆优化的Prim算法
- 最小生成树——prim算法
- 最小生成树——prim算法
- 最小生成树算法——Prim
- 最小生成树——Prim算法
- 哈希表__查找输入的单词出现多少次
- Sql Server 语句大全
- Centos7 ifconfig Command not found
- xmemcached下载地址
- 设计模式之---装饰模式
- hiho刷题日记——第二十六天最小生成树一·Prim算法
- 生产N个不重复的随机数(从一个数组中随机取N个元素)
- ASP.NET如何禁止直接通过Url访问某个类型的文件(非权限),不定时补充
- 最新手机号码正则表达式
- 机器学习的一点资料整理
- hiho刷题日记——第二十七天最小生成树二·Kruscal算法
- 通过URL协议实现从Safari等浏览器中跳转回到你的app
- haproxy 配置心跳检查
- 让多个Fragment 切换时不重新实例化