博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
poj 1679 The Unique MST
阅读量:5235 次
发布时间:2019-06-14

本文共 973 字,大约阅读时间需要 3 分钟。

题目要判断最小生成树是不是是唯一的。

先用prim算法求出最小生成树。然后将加进最小生成树的边用used数组标记起来,并且记录下i-j点的最大权值。然后在枚举那些没加进生成树的边。看是否也能得到同样的权值。如果能说明不唯一

比如used[i][j]==0说明i-j这条边没加进去然后更新Min。

#include
#include
#include
#include
using namespace std;const int inf=0x3f3f3f3f;const int maxn=110;bool vis[maxn];int lowc[maxn];int cost[maxn][maxn];int pre[maxn];int Max[maxn][maxn];bool used[maxn][maxn];int n,m; int ans;int Prim(){ ans=0; memset(vis,false,sizeof(vis)); memset(Max,0,sizeof(Max)); memset(used,false,sizeof(used)); vis[0]=true; pre[0]=-1; for(int i=1;i
lowc[j]) { min=lowc[j]; p=j; } } if(min==inf) return -1; ans+=min; vis[p]=true; used[p][pre[p]]=used[pre[p]][p]=true; for(int j=0;j
cost[p][j]) { lowc[j]=cost[p][j]; pre[j]=p; } } } return ans;} int get_min(){ int Min=inf; for(int i=0;i

转载于:https://www.cnblogs.com/NaCl/p/9580106.html

你可能感兴趣的文章
【原】PNG的使用技巧
查看>>
android studio 使用SVN 锁定文件,防止别人修改(基于Android studio 1.4 )
查看>>
4412 uboot启动分析
查看>>
熟用TableView
查看>>
PHP动态页面 生产静态页 方法二
查看>>
Java大数——a^b + b^a
查看>>
poj 3164 最小树形图(朱刘算法)
查看>>
百度贴吧图片抓取工具
查看>>
服务器内存泄露 , 重启后恢复问题解决方案
查看>>
第二阶段冲刺(2)
查看>>
ajax post 传参
查看>>
2.1命令行和JSON的配置「深入浅出ASP.NET Core系列」
查看>>
android一些细节问题
查看>>
KDESVN中commit时出现containing working copy admin area is missing错误提示
查看>>
利用AOP写2PC框架(二)
查看>>
[转载]Trie树|字典树(字符串排序)
查看>>
xp sp3安装IIS
查看>>
JDK安装与环境变量配置
查看>>
【动态规划】skiing
查看>>
java定时器的使用(Timer)
查看>>