hihoCoder-1097-Prim
这题就是prim的板子题,不过如果用end每次初始化为-1的话,我们就不需要对于每次选中的下一个点进行判断是否选中了,因为每次外层循环第一次进入都是可以的。
然后还很 (i=1;i<=n;i++) 正好对应上,因为n个点,n-1条边,跑n-1次就够了,但是我们第一次是让原点进入更新d[ ]数组值的。
其实prim和dijkstra还是很像的。
#include <cstdio>
#include <cstring>
const int INF = 0x3f3f3f3f;
int map[1010][1010], d[1010];
int vis[1010];
int main()
{
int n;
scanf("%d", &n);
for (int i = 1; i <= n;i++) {
for (int j = 1; j <= n;j++) {
scanf("%d",&map[i][j]);
}
}
memset(vis, 0, sizeof(vis));
memset(d, INF, sizeof(d));
d[1]=0;
int end, res=0;
for (int i = 1; i <= n;i++) {
end = -1;//从第一个点进入,更新了d[],并且保证了不会有空点
for (int j = 1; j <= n;j++) {
if (!vis[j]&&(end==-1||d[end]>d[j])) {
end = j;
}
}
vis[end] = 1;
res += d[end];
for (int j = 1; j <= n;j++) {
if (!vis[j]&&d[j]>map[end][j]) {
d[j] = map[end][j];
}
}
}
printf("%d\n", res);
return 0;
}
hihoCoder-1097-Prim的更多相关文章
- HihoCoder 1097 Prim算法
1097 : 最小生成树一·Prim算法 时间限制:10000ms 单点时限:1000ms 内存限制:256MB 描述 最近,小Hi很喜欢玩的一款游戏模拟城市开放出了新Mod,在这个Mod中,玩家可以 ...
- hihocoder 1097 最小生成树一·Prim算法
#1097 : 最小生成树一·Prim算法 时间限制:10000ms 单点时限:1000ms 内存限制:256MB 描述 最近,小Hi很喜欢玩的一款游戏模拟城市开放出了新Mod,在这个Mod中,玩家可 ...
- HihoCoder 1097 kruscal
最小生成树二·Kruscal算法 时间限制:10000ms 单点时限:1000ms 内存限制:256MB 描述 随着小Hi拥有城市数目的增加,在之间所使用的Prim算法已经无法继续使用了——但是幸运的 ...
- Hihocoder 之 #1097 : 最小生成树一·Prim算法 (用vector二维 模拟邻接表,进行prim()生成树算法, *【模板】)
#1097 : 最小生成树一·Prim算法 时间限制:10000ms 单点时限:1000ms 内存限制:256MB 描述 最近,小Hi很喜欢玩的一款游戏模拟城市开放出了新Mod,在这个Mod中,玩家可 ...
- hihocoder 1109 堆优化的Prim算法
题目链接:http://hihocoder.com/problemset/problem/1109 , 最小生成树 + 堆优化(优先队列). 可以用优先队列,也可以自己手动模拟堆,为了练手,我两种都试 ...
- hiho 1097 最小生成树一·Prim算法 (最小生成树)
题目: 时间限制:10000ms 单点时限:1000ms 内存限制:256MB 描述 最近,小Hi很喜欢玩的一款游戏模拟城市开放出了新Mod,在这个Mod中,玩家可以拥有不止一个城市了! 但是,问 ...
- hihocoder hiho一下 第二十六周 最小生成树一·(Prim算法)
题目1 : 最小生成树一·Prim算法 时间限制:10000ms 单点时限:1000ms 内存限制:256MB 描述 最近,小Hi很喜欢玩的一款游戏模拟城市开放出了新Mod,在这个Mod中,玩家可以拥 ...
- hihoCoder#1109 最小生成树三·堆优化的Prim算法
原题地址 坑了我好久...提交总是WA,找了个AC代码,然后做同步随机数据diff测试,结果发现数据量小的时候,测试几十万组随机数据都没问题,但是数据量大了以后就会不同,思前想后就是不知道算法写得有什 ...
- hihoCoder 1187
今天BC爆0了....但是日子还是要过的....要回学校毕业了~~大学就这么“荒废”了. 这个是hihoCoder的1187,比较基础的一道题. 题目链接: http://hihocoder.com/ ...
- 【hihocoder 1295】Eular质数筛法
[题目链接]:http://hihocoder.com/problemset/problem/1295 [题意] [题解] 可以在O(N)的复杂度内求出1..N里面的所有素数; 当然受空间限制,N可能 ...
随机推荐
- JS高级学习历程-1
JS高级-34-昨天内容回顾 时间:2015-5-11 1.DOM获取元素节点 document.getElenmentById(id 属性值) ...
- UWP 画一个圆形头像
经常需要做一个圆形头像的样式,like this 做法很简单,直接上xaml. <Ellipse Width=" Height="> <Ellipse.Fill& ...
- python入门之流程控制
if else 格式: if 条件 command1 command2elif 条件: command3 command4 else: command3 command4 注意条件后和else后 ...
- 接口测试03 - Python HTTP库requests
概述: 整理一些requests的相关知识,及如何使用requests进行接口测试. requests号称:是唯一的一个非转基因的Python HTTP库,人类可以安全享用. 安装: 先看下怎么安装r ...
- python学习之环境搭建 输入输出
一 环境搭建: 在安装好python2.7之后就可以利用其命令行和交互式模式进行基本的输入和输出测试了,但这样编码无法保存,所以就需要用到好用的编辑器和环境搭建了,这里用uestdio. 1.1打开u ...
- python_21(Django中间件)
第1章 中间件 1.1 介绍 1.2 种类 1.3 自定义中间件 1.4 process_request 1.4.1 注册中间件 1.5 process_response 1.6 process_vi ...
- TDH-hbase shell 常用命令
一.HBASE shell 命令操作;1.建表: create ‘tableName’,'f1','f2'; 注:列簇,裂限定符都要尽量短: 2.插入数据: put 'tableName','RowK ...
- Hibernate、Spring和Struts工作原理及使用理由
1.读取并解析配置文件2.读取并解析映射信息,创建SessionFactory3.打开Sesssion4.创建事务Transation5.持久化操作6.提交事务7.关闭Session8.关闭Sesst ...
- split()分割字符串用法
<script type="text/javascript"> var str="How are you doing today?" documen ...
- SQL SERVER 2008中使用VARBINARY(MAX)进行图像存取的实现方法
在数据库应用项目开发中,经常会使用一些二进制的图像数据,存储和读取显示图像数据主要采用的是路径链接法和内存流法.路径链接法是将图像文件保存在固定的路径下,数据库中只存储图像文件的路径和名称 ...