人活着系列之寻找最完美的人生

Time Limit: 1000ms   Memory limit: 65536K  有疑问?点这里^_^

题目描述

也许,人活着就是要尝试人世间的酸甜苦辣,喜怒哀乐,经历从婴儿到老人的一个过程吧!能看,能想,能爱,能恨,这就是活人与死人的区别。不要想着死后会怎样,谁也不知道。所以要好好的活着,宽待自己,好好珍惜身边的人!
现在,上帝之手宽恕与你。把你人生中所要经历的所有的酸甜苦辣全部摆在你的面前。你一生需要经历n种事情。每种事情都有一个权值x。上帝给了你 n-1个时光隧道。你可以把时光隧道放在任意两种事情的中间,如果你把时光隧道放在a,b中间,那么你需要花费3*(xa+xb)+7 。现在,你需要把这n-1个时光隧道连在n种事情中间,使得任意两种事情都会相连,并且花费最小。输出最小花费。

输入

 首先输入一个数T,代表有T组数据。

接下来一行输入一个数n。
接下来的一行输入n个数,第i个数代表第i种事情的权值。
n<=1000,每种事情的权值<=100000;
T<=60

输出

 输出T行,每行输出最小花费。

示例输入

1
2
1 2

示例输出

16

算法:构造图,最小生成树
#include <iostream>
#include <stdio.h>
#include <string.h>
#include <string> #include <algorithm> using namespace std; int a[1000];
int map[1000][1000];
int vis[1000];
int dis[1000]; void prim(int n)
{
int i, j;
int sum=0;
memset(vis, 0, sizeof(vis));
for(i=0; i<n; i++)
{
dis[i] = map[0][i] ;
}
vis[0]=1;
int pos;
for(i=1; i<n; i++)
{
int min=100000000; for(j=0; j<n; j++)
{
if(dis[j]<min && vis[j]==0)
{
min = dis[j];
pos = j;
}
}
vis[pos]=1;
sum =sum+min;
for(j=0; j<n; j++)
{
if(vis[j]==0 && map[pos][j]<dis[j] )
dis[j] = map[pos][j] ;
}
}
printf("%d\n", sum );
} int main()
{
int t, i, j, n;
int dd; cin>>t;
while(t--)
{
cin>>n;
for(i=0; i<n; i++)
{
cin>>a[i] ;
}
for(i=0; i<n; i++)
{
for(j=i+1; j<n; j++)
{
dd = 3*(a[i]+a[j])+7 ;
map[i][j] = dd;
map[j][i] = dd;
}
}
prim(n) ;
}
return 0;
}

SDUT OJ 之 人活着系列之寻找最完美的人生的更多相关文章

  1. 人活着系列之平方数 分类: sdutOJ 2015-06-22 17:10 7人阅读 评论(0) 收藏

    人活着系列之平方数 Time Limit: 1000ms Memory limit: 65536K 有疑问?点这里^_^ 题目描述 偶然和必然?命运与意志?生与死?理性与情感?价值与非价值?在&quo ...

  2. 人活着系列Tanya和蔡健雅猪 (floyd)

    人活着系列之芳姐和芳姐的猪 Time Limit: 1000MS Memory limit: 65536K 题目描写叙述 芳姐特别喜欢猪,所以,她特意养了m个猪圈,顺便在k条无向边,每条边有都有起点v ...

  3. sdut 2934 人活着系列之平方数 (完全背包变形)

    题目链接 分析:完全背包的变形,每一层的d[]数组代表这一层的这个数新加入以后所构成的val的种类. #include <iostream> #include <cstdio> ...

  4. 小P的故事——神奇的换零钱&&人活着系列之平方数

    http://acm.sdut.edu.cn/sdutoj/showproblem.php?pid=2777&cid=1219 这题不会,看了别人的代码 #include <iostre ...

  5. 人活着系列之开会(Floy)

    http://acm.sdut.edu.cn/sdutoj/problem.php?action=showproblem&problemid=2930 题意:所有点到Z点的最短距离.因为岛名由 ...

  6. 人活着系列之芳姐和芳姐的猪(Floyd)

    http://acm.sdut.edu.cn/sdutoj/problem.php?action=showproblem&problemid=2929 这个题一方面数据水,另一方面就是思维水, ...

  7. SDUT OJ 数据结构实验之排序四:寻找大富翁

    数据结构实验之排序四:寻找大富翁 Time Limit: 200 ms Memory Limit: 512 KiB Submit Statistic Discuss Problem Descripti ...

  8. SDUT 2933-人活着系列Streetlights(最小生成树Kruskal+和理查德设置来实现)

    人活着系列之Streetlights Time Limit: 1000ms   Memory limit: 65536K  有疑问?点这里^_^ 题目描写叙述 人活着假设是为了家庭,亲情----能够说 ...

  9. 人活系列Streetlights (秩)

    人活着系列之Streetlights Time Limit: 1000MS Memory limit: 65536K 题目描写叙述 人活着假设是为了家庭,亲情----能够说是在这个世界上最温暖人心的, ...

随机推荐

  1. JAVA实现EXCEL公式专题(四)——字符串函数

    直接上代码: /** * 项目名称: * 文件说明: ExCEL公式类型:字符串公式 * 主要特点: * 版本:1.0 * 制作人:刘晨曦 * 创建时间:2013-12-3 **/ package E ...

  2. 19. Spring Boot 添加JSP支持【从零开始学Spring Boot】

    转:http://blog.csdn.net/linxingliang/article/details/52017140 这个部分比较复杂,所以单独创建一个工程来进行讲解: 大体步骤: (1)     ...

  3. AngularJS取得后台Jason数据显示在页面上

    代码下载:https://files.cnblogs.com/files/xiandedanteng/angularjsAjax.rar 前台代码: <%@ page language=&quo ...

  4. Solidworks如何生成爆炸图

    1 自动爆炸 点击"爆炸视图"按钮,然后全部选中装配体(被选中的零件会变为蓝色,全部选中即全部变色)然后在组成偶尔的爆炸窗口中下拉,点击应用.   再点击完成   回到装配体面板, ...

  5. c/c++:回调函数

    1:函数名为指针 首先,在C语言中函数是一种function-to-pointer的方式,即对于一个函数,会将其自己主动转换成指针的类型.如: 1 #include<stdio.h> 2 ...

  6. Build Your Hexo Blog (On Github)

    超简单,比jekyll好多了! 看个Demo http://kevinjmh.github.io/ 了解Hexo Hexo是一个由Node.js驱动的,简单.快速.强大的Blog框架.可以快速的生成静 ...

  7. 淘宝数据库OceanBase SQL编译器部分 源代码阅读--解析SQL语法树

    OceanBase是阿里巴巴集团自主研发的可扩展的关系型数据库,实现了跨行跨表的事务,支持数千亿条记录.数百TB数据上的SQL操作. 在阿里巴巴集团下,OceanBase数据库支持了多个重要业务的数据 ...

  8. python学习(五)列表

    #!/usr/bin/python # 列表的学习, 列表的概念不陌生, 就是熟悉一下python中的列表是如何操作的 # 1. 序列的操作 L = [ 123, 'spam', 1.23] # 里面 ...

  9. linux中likely()和unlikely()

    likely()与unlikely()在2.6内核中,随处可见,那为什么要用它们?它们之间有什么区别呢?首先明确: if (likely(value))等价于if (value) if (unlike ...

  10. Appium python Uiautomator2 多进程问题

    appium更新uiautomator后可以获取tost了,大家都尝试,课程中也讲解了,但是这些跑的时候都在单机上,当我们多机并发的时候会出现一个端口问题,因为我们appium最后会调用uiautom ...