设为首页 加入收藏

TOP

poj 1679 The Unique MST,次小生成树
2015-07-20 17:39:19 来源: 作者: 【 】 浏览:2
Tags:poj 1679 The Unique MST 生成

次小生成树
求最小生成树时,用数组Max[i][j]来表示MST中i到j的最大边权。
求完后,直接枚举所有不在MST中的边,替换掉最大边权的边,更新答案。


#include 
  
   
#include 
   
     #include 
    
      using namespace std; const int maxn = 110; const int INF = 1e9; bool vis[maxn]; int d[maxn]; int pre[maxn]; int Max[maxn][maxn]; bool used[maxn][maxn]; int g[maxn][maxn]; int n, m; int Prim() { int 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
     
      d[j])) p = j; if(-1==p) return -1; ans += d[p]; vis[p] = true; used[p][pre[p]] = used[pre[p]][p] = true; for(int j=0; j
      
       g[p][j]) { d[j] = g[p][j]; pre[j] = p; } } } return ans; } void solve() { int res = Prim(); if(-1 == res) { //图不连通 puts("Not Unique!"); return ; } int Mn = INF; for(int i=0; i
       
        

】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇PID277 / 整数拆分 (递归) 下一篇SDUT 2498-AOE网上的关键路径(spf..

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容:

·数据库:推荐几款 Re (2025-12-25 12:17:11)
·如何最简单、通俗地 (2025-12-25 12:17:09)
·什么是Redis?为什么 (2025-12-25 12:17:06)
·对于一个想入坑Linux (2025-12-25 11:49:07)
·Linux 怎么读? (2025-12-25 11:49:04)