zoj 1586
http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemCode=1586







//zoj 1586
#include<iostream>
#include<cstdio>
using namespace std;
#define N 1005
int a[N][N],low[N],n,ans;
int b[N]; int min(int x,int y)
{ return x<y?x:y; } void prim(int u0)
{
int i,j,m,k;
ans=0;
for (i=1;i<n;i++) low[i]=a[u0][i];
low[u0]=-1;
for (i=1;i<n;i++)
{
m=1<<20;
for (j=0;j<n;j++)
if (low[j]!=-1&&low[j]<m)
{ m=low[j]; k=j; }
ans+=m;
low[k]=-1;
for (j=0;j<n;j++)
if (low[j]!=-1)low[j]=min(low[j],a[k][j]);
}
} int main()
{
int i,j,t;
scanf("%d",&t);
while(t--)
{
scanf("%d",&n);
for(i=0;i<n;i++) scanf("%d",&b[i]); for(i=0;i<n;i++)
{
for(j=0;j<n;j++)
{
scanf("%d",&a[i][j]);
a[i][j]+=b[i]+b[j];
}
}
prim(0);
cout<<ans<<endl;
}
return 0;
} *************************************************************************************************** #include<iostream>
#include<cstdio>
using namespace std;
#define N 1005
int a[N][N],low[N],n,ans;
int b[N]; int min(int x,int y)
{ return x<y?x:y; } void prim(int u0)
{
int i,j,m,k;
ans=0;
for (i=1;i<n;i++) low[i]=a[u0][i];
low[u0]=-1;
for (i=1;i<n;i++)
{
m=1<<20;
for (j=0;j<n;j++)
if (low[j]!=-1&&low[j]<m)
{ m=low[j]; k=j; }
ans+=m;
low[k]=-1;
for (j=0;j<n;j++)
if (low[j]!=-1)low[j]=min(low[j],a[k][j]);
}
} int main()
{
int i,j,t;
scanf("%d",&t);
while(t--)
{
scanf("%d",&n);
for(i=0;i<n;i++) scanf("%d",&b[i]); for(i=0;i<n;i++)
{
for(j=0;j<n;j++)
{
scanf("%d",&a[i][j]);
if(i=j) a[i][j]=1<<20; //对角线
else a[i][j]+=b[i]+b[j];
}
}
prim(0);
cout<<ans<<endl;
}
return 0;
} **************************************************************************888 #include<iostream>
#include<cstdio>
using namespace std;
#define N 1005
#define INF 1000000
int a[N][N],low[N],n,ans;
int b[N]; int min(int x,int y)
{ return x<y?x:y; } void prim(int u0)
{
int i,j,m,k;
ans=0;
for (i=1;i<n;i++) low[i]=a[u0][i];
low[u0]=-1;
for (i=1;i<n;i++)
{
m=1<<20;
for (j=0;j<n;j++)
if (low[j]!=-1&&low[j]<m)
{ m=low[j]; k=j; }
ans+=m;
low[k]=-1;
for (j=0;j<n;j++)
if (low[j]!=-1)low[j]=min(low[j],a[k][j]);
}
} int main()
{
int i,j,t;
scanf("%d",&t);
while(t--)
{
scanf("%d",&n);
for(i=0;i<n;i++) scanf("%d",&b[i]); for(i=0;i<n;i++)
{
for(j=0;j<n;j++)
{
scanf("%d",&a[i][j]);
if(i=j) a[i][j]=INF; //对角线
else a[i][j]+=b[i]+b[j];
}
}
prim(0);
cout<<ans<<endl;
}
return 0;
}
zoj 1586的更多相关文章
- ZOJ 1586 QS Network (最小生成树)
QS Network Time Limit:2000MS Memory Limit:65536KB 64bit IO Format:%lld & %llu Submit Sta ...
- ZOJ - 1586 QS Network (Prim)
ZOJ - 1586 QS Network (Prim) #include<iostream> #include<cstring> using namespace std; + ...
- (最小生成树)QS Network -- ZOJ --1586
链接: http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemCode=1586 http://acm.hust.edu.cn/vjudge/ ...
- E - QS Network - zoj 1586(简单)
题意:在一个叫做QS的星系,他们使用一些特殊的通讯方式,两个人之间通讯需要使用一个网络适配器,但是一个网络适配器只能跟一个人联系,所有它连接几个人就需要及格适配器,而且每个人都有一些不同的偏好,喜欢的 ...
- zoj 1586 QS Network
最小生成树,刚刚学了Prim算法. 对每条边变的权值进行预处理,c[i][j] = c[i][j] + p[i] + p[j] 其中c[i][j]为输入的权值,p[i],p[j]为连接这两个节点所需的 ...
- ZOJ 1586 QS Network(Kruskal算法求解MST)
题目: In the planet w-503 of galaxy cgb, there is a kind of intelligent creature named QS. QScommunica ...
- ZOJ 1586 QS Network Kruskal求最小生成树
QS Network Sunny Cup 2003 - Preliminary Round April 20th, 12:00 - 17:00 Problem E: QS Network In the ...
- ZOJ 1586 QS Network MST prim水题
http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemId=586 题目大意: QS是一种生物,要完成通信,需要设备,每个QS需要的设备的价格 ...
- QS Network ZOJ - 1586 板子题
#include<iostream> #include<algorithm> using namespace std; ; struct edge{ int a,b; doub ...
随机推荐
- PHP面向对象的基本写法(区别于java)
<?php /** * 这是一个人的对象 */ class ClassName { public $name; public $age; public $sex; public static $ ...
- WPF Binding值转换器ValueConverter使用简介(一)
WPF.Silverlight及Windows Phone程序开发中往往需要将绑定的数据进行特定转换,比如DateTime类型的时间转换为yyyyMMdd的日期,再如有一个值是根据另外多组值的不同而异 ...
- android 定时请求(两种实现方式)
方式一: Handler + Runnable (借鉴网址:http://stackoverflow.com/questions/6207362/how-to-run-an-async-task-fo ...
- Android开发手记(27) Java多线程的操作
Java中常用的有关线程的操作有,判断线程是否启动.线程强制执行.线程休眠.线程中断.线程让步.线程同步等.下面就一一举例. 首先,我们新建一个MyThread类实现Runnable接口.基于此接口进 ...
- shell脚本学习之if..else用法
一 简介 1 字符串判断 str1 = str2 当两个串有相同内容.长度时为真 str1 != str2 当串str1和str2不等时为真 -n str1 当串的长度大于0时为真(串非空) - ...
- C语言字符串库函数的实现
1.strlen(字符串的长度) size_t Strlen(const char* str) { assert(str); ;; ++i) { if (str[i] == '\0') return ...
- windows编程中 一些前缀区分 IDR和IDD
IDC_:控件的ID命名前缀(Control) IDM_:菜单的ID命名前缀(Menu) IDD_:对话框的ID命名前缀(Dialog) IDR_:资源的ID命名前缀(Resource) IDS_:字 ...
- Struts2中的链接标签 <s:url>和<s:a>---在action中获取jsp表单提交的参数(转)
转自:http://sgl124764903.iteye.com/blog/444183 1.普通链接 Web程序中最普通的应用是链接到其他页面,下面看Welcome.jsp. <%@ page ...
- 将listBox中信息显示在dataGridview中,操作datagridview后删除listBox信息和SQL数据库信息 续(浅谈listBox..)
应用场景 对datagridview控件使用了解,以及操作datagridview选中的信息删除,并且有二次确认后才删除用户信息.相应的删除listbox中用户信息,下面一起看看需要哪些准备 ...
- 响应式设计的5个CSS实用技巧
正如我在教程响应式Web设计三步走当中所讲的,响应式的Web设计其实并不难,但是要让元素在布局切换时能够平滑过渡就比较考验技巧了.现在我分享在编码时常用的五个CSS技巧并举例说明.这些技巧都是使用简单 ...