ZOJ - 1586 QS Network (Prim)

 #include<iostream>
#include<cstring>
using namespace std;
const int maxn = +;
const int MAX = ;//无穷远
int n;
int cost[maxn];
int Edge[maxn][maxn];
int lowcost[maxn];
void Init()
{
cin>>n;
for(int i=;i<n;i++)
{//读入每个结点的适配器价值
cin>>cost[i];
}
for(int i=;i<n;i++)
{//建立邻接矩阵
for(int j=;j<n;j++)
{
cin>> Edge[i][j];
if(i == j) Edge[i][j] = MAX;
else Edge[i][j] += cost[i]+cost[j];
}
}
memset(lowcost,,sizeof(lowcost));
} void prim()
{
int sum = ;
//从源点0开始
lowcost[] = -;//-1表示当前结点已经加入
for(int i=;i<n;i++)
lowcost[i] = Edge[][i];
for(int i=;i<n;i++)
{//把其他 n-1 个结点 扩展到生成树中
int min = MAX,pos;
for(int j=;j<n;j++)//找到权值最小的边
{
if(lowcost[j] != - && lowcost[j]<min)
{
min = lowcost[j];pos = j;
}
}
//将新顶点加入
lowcost[pos] = -;
sum += min;
//更新lowcost数组
for(int k=;k<n;k++)
{
if(lowcost[k] > Edge[pos][k])
lowcost[k] = Edge[pos][k];
}
}
cout<<sum<<endl;
} int main()
{
int t;
cin>>t;
while(t--)
{
Init();
prim();
}
return ;
}

ZOJ - 1586 QS Network (Prim)的更多相关文章

  1. ZOJ 1586 QS Network(Kruskal算法求解MST)

    题目: In the planet w-503 of galaxy cgb, there is a kind of intelligent creature named QS. QScommunica ...

  2. 最小生成树-QS Network(Prim)

    题目大意: 给出的案例结果得出步骤,如下图所示,从结点1开始查找,找出的一条路径如绿色部分所标注.(关键处在于连接每条路径所需要的适配器的价格得加上去) 代码实现: #include<iostr ...

  3. ZOJ 1586 QS Network MST prim水题

    http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemId=586 题目大意: QS是一种生物,要完成通信,需要设备,每个QS需要的设备的价格 ...

  4. ZOJ 1586 QS Network (最小生成树)

    QS Network Time Limit:2000MS     Memory Limit:65536KB     64bit IO Format:%lld & %llu Submit Sta ...

  5. ZOJ 1586 QS Network Kruskal求最小生成树

    QS Network Sunny Cup 2003 - Preliminary Round April 20th, 12:00 - 17:00 Problem E: QS Network In the ...

  6. zoj 1586 QS Network

    最小生成树,刚刚学了Prim算法. 对每条边变的权值进行预处理,c[i][j] = c[i][j] + p[i] + p[j] 其中c[i][j]为输入的权值,p[i],p[j]为连接这两个节点所需的 ...

  7. POJ 1502 MPI Maelstrom / UVA 432 MPI Maelstrom / SCU 1068 MPI Maelstrom / UVALive 5398 MPI Maelstrom /ZOJ 1291 MPI Maelstrom (最短路径)

    POJ 1502 MPI Maelstrom / UVA 432 MPI Maelstrom / SCU 1068 MPI Maelstrom / UVALive 5398 MPI Maelstrom ...

  8. ZOJ 2477 Magic Cube(魔方)

    ZOJ 2477 Magic Cube(魔方) Time Limit: 2 Seconds      Memory Limit: 65536 KB This is a very popular gam ...

  9. c/c++ 用普利姆(prim)算法构造最小生成树

    c/c++ 用普利姆(prim)算法构造最小生成树 最小生成树(Minimum Cost Spanning Tree)的概念: ​ 假设要在n个城市之间建立公路,则连通n个城市只需要n-1条线路.这时 ...

随机推荐

  1. 4.Struts2-OGNL

    /*ognl 是 strut2 特有的表达式,使用 ognl,struts2 就无需将对象手动放值进request等范围,页面(从值栈中)直接传值*/ OGNL <?xml version=&q ...

  2. python3中SYS模块

    sys.argv               命令行参数List,第一个元素是程序本身路径sys.modules        返回系统导入的模块字段,key是模块名,value是模块sys.exit ...

  3. php判断

    <?php $str = '我是张三?'; preg_match("/张三/", $str, $match); if($match) { echo ' 张三在文本中'; } ...

  4. svn+jenkins自动部署

    需求:项目经理想要将原型图修改完后直接发布 前置条件: 已经有了svn服务器,并正常使用 已经有了jenkins服务器,之前搭建的gitlab+jenkins, 如需搭建jenkins,参考 http ...

  5. Delphi 通过ADO连接数据库

  6. Vim——替换命令

     原创声明:本文系博主原创文章,转载或引用请注明出处. 1. 文本替换 #替换每一行的第一个a :%s/a/b/ #全部替换 :%s/a/b/g #替换/时需要转义"\/" 2. ...

  7. MySQL 关于索引的操作

    -- 索引分类? 1.普通索引 2.唯一索引 3.全文索引 4.组合索引 普通索引:仅加速查询,最基本的索引,没有任何限制 唯一索引:加速查询 + 列值唯一(可以有null) 全文索引:仅适用于MyI ...

  8. Git 团队协作开发

    步骤一:进入别人github中的项目 步骤二: 步骤三: 修改 one.txt 或者 新增 文件 都可以 步骤四: 在提交时,要习惯 使用 git pull 命令,防止有人在你写代码时候,提交过一些东 ...

  9. bat批处理文件

    将某个文件夹中的所有txt文件合并到a.txt中,如果文件比较多的话,手动会很费时,编写程序也很麻烦,这个时候就可以用批处理文件,如下: type *.txt > a.txt 把上面这行粘贴到新 ...

  10. [Functional Programming] Examples: When and Unless

    /** * When */ const _branch = (x) => { const result = (x && x.isPublic) ? dissoc('private ...