【题目描述】

    N个人过河,一次过去2个回来一个,给出每个人所需时间,问最小过河时间。

【题目链接】

    http://noi.openjudge.cn/ch0406/702/

【算法】

    一开始想样例是怎么成立的想了半天,因为一开始以为贪心策略就是最小的人陪每个人过去然后回来,这样子的话样例应该是19。样例:4个人,时间分别为:1 2 5 10。最少时间为17。策略是最小和次小先过去,然后最小回来,最大和次大过去,次小回来,然后最小次小再过去结束。然后按这种策略写wa了,没办法。查了一波题解,发现两种策略去最小。。。。晕。因为假设递增的a,b,c,d四个人,两种策略所需时间分别为:2*b+a+d+b和a*2+c+d+b,消去相同项为2*b和a+c,所以每次取两者最小就行了(第二种策略很容易构造出数据: 1 99 100 1000)。当然在剩三个人的情况下,两种策略用时相同都是a+b+c。

【代码】

 #include <bits/stdc++.h>
using namespace std;
int t,n,i,ans;
int a[];
int main()
{
scanf("%d",&t);
while(t--) {
ans=;
scanf("%d",&n);
for(i=;i<=n;i++) scanf("%d",&a[i]);
if(n==) { printf("%d\n",a[]); continue; }
sort(a+,a+n+);
for(i=n;i>;i-=)
ans+=min(a[]+*a[]+a[i],a[]*+a[i]+a[i-]);
if(n&) ans+=a[]+a[]+a[];
else ans+=a[];
printf("%d\n",ans);
}
return ;
}

702:Crossing River (贪心)的更多相关文章

  1. POJ 1700 Crossing River (贪心)

    Crossing River Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 9585 Accepted: 3622 Descri ...

  2. poj 1700 Crossing River 过河问题。贪心

    Crossing River Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 9887   Accepted: 3737 De ...

  3. Crossing River

    Crossing River 题目链接:http://acm.hust.edu.cn/vjudge/problem/visitOriginUrl.action?id=26251 题意: N个人希望去过 ...

  4. Crossing River(1700poj)

    Crossing River Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 9919   Accepted: 3752 De ...

  5. poj1700--贪心--Crossing River

    Crossing River Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 12260   Accepted: 4641 D ...

  6. 贪心Crossing river

    英文题目: A group of N people wishes to go across a river with only one boat, which can at most carry tw ...

  7. ACM学习历程——POJ 1700 Crossing River(贪心)

    Description A group of N people wishes to go across a river with only one boat, which can at most ca ...

  8. poj-1700 crossing river(贪心题)

    题目描述: A group of N people wishes to go across a river with only one boat, which can at most carry tw ...

  9. Crossing River poj1700贪心

    题目描述:N个人过河,只有一只船,最多只能有两人划船,每个人划船速度不同,船速为最慢的人的速度.输入T为case个数,每个case输入N为人数,接下来一行输入的是每个人过河的时间,都不相同.要求输出N ...

随机推荐

  1. 【记录】@Transactional

    参考链接:https://blog.csdn.net/nextyu/article/details/78669997 参考链接:https://www.xuebuyuan.com/3222458.ht ...

  2. ABBYY FineReader 14.0.107.232 Enterprise 下载和安装使用

    目录 1. 按 2. 软件功能 3. 软件特色 4. 安装说明 5. 激活说明 6. 下载地址 1. 按 ABBYY FineReader 是款功能强大的OCR文字识别软件:它支持者用户进行使用文档的 ...

  3. Spring Data Elasticsearch 用户指南

    https://www.jianshu.com/p/27e1d583aafb 翻译自官方文档英文版,有删减. BioMed Central Development Team version 2.1.3 ...

  4. 5-基于TMS320C6678+XC7K325T的6U CPCIe高性能处理平台

    基于TMS320C6678+XC7K325T的6U CPCIe高性能处理平台 一.板卡概述      本板卡系自主研发,基于CPCI 6U架构,符合CPCI2.0标准.采用 DSP TMS320C66 ...

  5. TCP窗口

    一.窗口移动1.在建立TCP连接时,接收端会告诉发送端自己的接收窗口.2.发送端在发送数据时,会先为数据分包,编号,然后先发送窗口大小的数据(数据大于窗口大小),小于则全部发送了,窗口后的不允许发送. ...

  6. c# tcp 服务客户端

    session connection protobuf-net

  7. Java性能调优工具(Linux)

    为了能准确获得程序的性能信息,需要使用各种辅助工具.以下主要介绍了Linux上关于Java的系统性能分析工具,掌握这些工具,对于性能瓶颈定位.系统故障排查都有帮助. 1.top命令 [root@loc ...

  8. 安装phpredis扩展以及phpRedisAdmin工具

    先从phpredis的git拿到最新的源码包:wget https://github.com/nicolasff/phpredis/archive/master.tar.gz 然后解压到进入目录:ta ...

  9. WiFi密码新攻击破解方法,黑客攻破只需10秒

    近日,中国知名黑客安全组织东方联盟研究人员透露了一种新的WiFi黑客技术,使黑客更容易破解大多数现代路由器的WiFi密码,并且攻破只需要10秒,速度非常快. 方法是利用由流行的密码破解工具Hashca ...

  10. django之csrf_exempt解决跨域请求的问题

    一: from django.views.decorators.csrf import csrf_exempt # 获取微信返回的code信息 @csrf_exempt def wechat_auth ...