#include<iostream>            //最小生成树primusing namespace std;const int max_ve=105,MaxWeight=2000;int n,edge[max_ve][max_ve],sum;        //n,m分别记录顶点数和边数struct MinTree    //最小生成树的边{int begin,end,weight;}mintree[max_ve];void Prim(){int min,v,com,i,j,k;for(i=0;i<n-1;i++)    //对mintree进行初始化,顶点下标从0开始    {        mintree[i].begin=0;mintree[i].end=i+1;        mintree[i].weight=edge[0][i+1];    }for(i=0;i<n-1;++i)        //求n-1条边    {        min=MaxWeight;for(j=i;j<n-1;++j)        {    if(mintree[j].weight<min)        //求最小权值边            {                min=mintree[j].weight;k=j;            }        }            swap(mintree[k],mintree[i]);    //最小边移至前端        v=mintree[i].end;        sum+=mintree[i].weight;for(j=i+1;j<n-1;++j)    //更新后面的边        {                    com=edge[v][mintree[j].end];if(com<mintree[j].weight)            {                mintree[j].weight=com;mintree[j].begin=v;            }        }    }}int main(){int q,a,b;    cin>>n;for(int i=0;i<n;++i)for(int j=0;j<n;++j)            cin>>edge[i][j];    cin>>q;while(q--)    {        cin>>a>>b;        edge[a-1][b-1]=edge[b-1][a-1]=0;    }    Prim();    cout<<sum<<endl;return 0;}

  

转载于:https://www.cnblogs.com/mjc467621163/archive/2011/07/22/2114382.html

poj 2421 Constructing Roads相关推荐

  1. POJ 2421 Constructing Roads MST kruskal

    最近刚学的并查集所以用kruskal来试试最小生成树~ kruskal其实用几句话就能说完~  1.贪心所有边的权值,从小到大取值 2.取值时~将边权非0的两个顶点~进行并查操作~如果两个点的祖先不同 ...

  2. 22.12.14补卡 Constructing Roads POJ - 2421

    Constructing Roads - POJ 2421 - Virtual Judge 只有输入有点小坑 只有上三角的数据是有用的, 下三角的数据与上三角重复, 可不处理, 把i>=j的全部 ...

  3. HDU1102 Constructing Roads 最小生成树

    点击打开链接 Online Judge Online Exercise Online Teaching Online Contests Exercise Author F.A.Q Hand In Ha ...

  4. 【HDU - 1025】Constructing Roads In JGShining's Kingdom(dp最长上升子序列模型 + 二分优化)

    题干: Constructing Roads In JGShining's Kingdom Time Limit: 2000/1000 MS (Java/Others)    Memory Limit ...

  5. HDU 1815, POJ 2749 Building roads(2-sat)

    HDU 1815, POJ 2749 Building roads 题目链接HDU 题目链接POJ 题意: 有n个牛棚, 还有两个中转站S1和S2, S1和S2用一条路连接起来. 为了使得随意牛棚两个 ...

  6. HDOJ1102 Constructing Roads【最小生成树】-----武科大ACM暑期集训队选拔赛1题

    这道题目没有做出来,代码写好之后一直没有AC,本以为做了这么多最小生成树的题目,这道题一定没问题的,结果很遗憾,没有注意细节问题: 首先,如何处理已经建好的路?已经建好的路说明这两个点是连通的,只要把 ...

  7. hdu 1025 Constructing Roads In JGShining's Kingdom(DP + 二分)

    此博客为转发 Constructing Roads In JGShining's Kingdom Time Limit: 2000/1000 MS (Java/Others)    Memory Li ...

  8. Constructing Roads POJ - 2421 (最小生成树)

    思路:首先使用二维数组dis[][]处理输入, 对于已经修好的路,将其对应的dis[i][j]置为零即可.最后再将    所有的dis[][]保存到边结构体中,使用Kruskal算法求得最小生成树. ...

  9. hdu1025 Constructing Roads In JGShining#39;s Kingdom(二分+dp)

    转载请注明出处:http://blog.csdn.net/u012860063 题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1025 Problem ...

最新文章

  1. ThinkPHP读取数据库数据到模板文件
  2. 陈硕智能指针线程安全_C++ 创建线程的方法
  3. MyBatis Generator 学习
  4. Docker系列06—基于容器制作镜像并上传到Docker Registry
  5. 如何查看spark消耗的内存_Spark优化(三)----数据本地化及内存调优
  6. flymcu无法打开串口_西门子1200与其他PLC/组态软件无线串口通讯(自由口)
  7. LeetCode 1024. 视频拼接(动态规划/贪心)
  8. 阿尔伯塔大学2019计算机科学 cs,[阿尔伯塔大学]计算机/计算机工程专业
  9. GsonFormat插件
  10. Step By Step(Lua字符串库)
  11. java 获取日期的几天前,几个月前和几年前
  12. PHP学习之十二:自定义函数
  13. extern 头文件 定义声明
  14. Win10 出现恢复,无法加载操作系统,关键系统驱动程序丢失或错误 蓝屏错误代码0xc000007b
  15. java背单词页面_简易Web背单词软件 #01# 当前功能
  16. latex添加bibtex参考文献方法及pdf没有参考文献问题
  17. 怎么快速的在WORD中勾选空白的小方格,看这里就够了,WORD中如何快速的勾选空白小方格
  18. 微分算子Park变换的矩阵等价形式
  19. 如何让淘宝店铺的商品能自动发货到旺旺
  20. python学习笔记之三——MakeHuman源码阅读

热门文章

  1. 在Linux下写一个自己的命令
  2. python数据分析和可视化——一篇文章足以(未完成)
  3. Flashback Data Archive(转)
  4. Oracle 11gR1 默认设置调整
  5. 一步一步学DataGuard之基础篇
  6. (二十九)、Java字符串中去除空格
  7. 巨蟒python全栈开发flask11项目开始3
  8. 04-String——课后作业1:字串加密
  9. 动态生成的DOM做点击事件无效
  10. [微软面试100题]61-70