nyoj 47 江 河问题 【贪婪】
经典的贪婪。
两种方案:一个:让我们来最快,第二快,在过去的第一,最快的回。然后最慢,最慢第二,在过去。次最快的回来a[0]+a[1]+a[1]+a[n-1]
二:最快的和最慢的过去,最快的回来,最快的和当前最慢的过去,最快的回来。
a[0]+a[n-1]+a[0]+a[n-2]
每次取最优解。
注意:最后剩余没过的人小于等于3的时候。要特殊推断。
代码:
#include <cstdio>
#include <cstring>
#include <algorithm>
#define INF 0x3f3f3f3f
using std::sort;
int s[1005], ans, n; void solve(){
ans = 0;
int st = 0, en = n, len = 0;
while(en > 3){
int temp1 = s[en-1]+2*s[1]+s[0];
int temp2 = 2*s[0]+s[en-1]+s[en-2];
ans += temp1<temp2 ?temp1:temp2;
en -= 2;
}
if(en == 3) ans += s[0]+s[2];
ans += s[1];
printf("%d\n", ans);
}
int main(){
int t, i, j;
scanf("%d", &t);
while(t --){
scanf("%d", &n);
for(i = 0; i < n; i ++) scanf("%d", &s[i]);
sort(s, s+n);
if(n<3) printf("%d\n", s[n-1]);
else solve();
}
return 0;
}
题目链接:http://acm.nyist.net/JudgeOnline/problem.php?pid=47
版权声明:本文博客原创文章。博客,未经同意,不得转载。
nyoj 47 江 河问题 【贪婪】的更多相关文章
- NYOJ 47 河问题
时间限制:1000 ms | 内存限制:65535 KB 难度:5 描写叙述 在漆黑的夜里,N位旅行者来到了一座狭窄并且没有护栏的桥边.假设不借助手电筒的话,大家是不管怎样也不敢过桥去的.不幸的是 ...
- NYOJ 47:过河问题(思维)
47-过河问题 内存限制:64MB 时间限制:1000ms 特判: No 通过数:6 提交数:10 难度:5 题目描述: 在漆黑的夜里,N位旅行者来到了一座狭窄而且没有护栏的桥边.如果不借助手电筒的话 ...
- NYOJ 47过河问题
主要思路:先排序.有两种可能是最小的情况,一种是让最小的去带着最大的过去,然后最小的再回来,还有一种就是先最小的和第二小的一块过去, 然后最小的回来,让最大的和第二大的过去,接着第二小的回来,第二小和 ...
- NYOJ 47
思路: 在n>3的时候就用前两个小的来带后两个大的,有两种方式(一就是1,2先过,然后1回来,然后n,n-1过,然后2,回来),(二就是 1,n先过去 然后1回来,然后 1,n-1过去吗.,然后 ...
- nyoj 47——过河问题——————【贪心】
过河问题 时间限制:1000 ms | 内存限制:65535 KB 难度:5 描述 在漆黑的夜里,N位旅行者来到了一座狭窄而且没有护栏的桥边.如果不借助手电筒的话,大家是无论如何也不敢过桥去的 ...
- Python语言系列-10-数据库
MySQL 基础环境准备 readme.txt 作者:Alnk(李成果) 版本:v1.0 安装mysql数据库 略 创建student库 # mysql> create database stu ...
- Bert不完全手册6. Bert在中文领域的尝试 Bert-WWM & MacBert & ChineseBert
一章我们来聊聊在中文领域都有哪些预训练模型的改良方案.Bert-WWM,MacBert,ChineseBert主要从3个方向在预训练中补充中文文本的信息:词粒度信息,中文笔画信息,拼音信息.与其说是推 ...
- 六、模型层(ORM)
六.模型层(ORM) Django中内嵌了ORM框架,不需要直接编写SQL语句进行数据库操作,而是通过定义模型类,操作模型类来完成对数据库中表的增删改查和创建等操作. O是object,也就类对象的意 ...
- nyoj 47-过河问题 (贪心)
47-过河问题 内存限制:64MB 时间限制:1000ms Special Judge: No accepted:2 submit:5 题目描述: 在漆黑的夜里,N位旅行者来到了一座狭窄而且没有护栏的 ...
随机推荐
- HDU 4611 Balls Rearrangement (数学-思维逻辑题)
题目地址:http://acm.hdu.edu.cn/showproblem.php?pid=4611 题意:给你一个N.A.B,要你求 AC代码: #include <iostream> ...
- A Game of Thrones(13) - Tyrion
The north went on forever. Tyrion Lannister knew the maps as well as anyone, but a fortnight on the ...
- Java程序猿之从菜鸟到职场高手的必看
J2SE之入门引导 Java基础系列之初识JAVA Java基础系列之Java语法 ...
- Swift实现OC中的单例模式
一.MySingle类 import Foundation class MySingle{ //定义单例的属性 var name:String? var age:Int? var height:Dou ...
- www.centos.org
https://www.centos.org/forums/viewtopic.php?t=5770 In order to conserve the limited bandwidth availa ...
- c#抓取动态页面WebBrowser
在ajax横行的年代,很多网页的内容都是动态加载的,而我们的小爬虫抓取的仅仅是web服务器返回给我们的html,这其中就 跳过了js加载的部分,也就是说爬虫抓取的网页是残缺的,不完整的,下面可以看下博 ...
- ZooKeeper场景实践:(2)集中式配置管理
1. 基本介绍 在分布式的环境中,可能会有多个对等的程序读取相同的配置文件,程序能够部署在多台机器上,假设配置採用文件的话,则须要为部署该程序的机器也部署一个配置文件,一旦要改动配置的时候就会很麻烦, ...
- WebService之Soap头验证入门
1.新建一个类,如"AuthHeaderUser",继承于"System.Web.Services.Protocols.SoapHeader"类 2.新建Web ...
- LeetCode: Best Time to Buy and Sell Stock III [123]
[称号] Say you have an array for which the ith element is the price of a given stock on day i. Design ...
- alertify、js、css 使用简介
Alertify.js which helped me resolve my issues regarding prompts, alerts, confirms, etc in iOS7. 1.al ...