problem

  • 有n个人,第i个人重量ai
  • 每艘船载重为w,最多可乘2个人
  • 求能装载所有人的最少的船数
  • n <= 3e4

solution

贪心:让最重的人和最轻的人配对。
证明(反证法):令i为最轻的人,
1、i自己乘船。如果把j拉过来和他一起,那么总数不会增加(甚至可能会减少)
2、i和k一起乘。k比j轻,那么交换k和j,交换jk若成立,总船数不会增加,并且后面有更大的选择空间(决策包容性)。

codes

复杂度O(nlogn)

#include<iostream>
#include<algorithm>
using namespace std;
const int maxn = 30010;
int a[maxn];
int main(){int w, n;cin>>w>>n;for(int i = 1; i <= n; i++)cin>>a[i];sort(a+1,a+n+1);int l = 1, r = n, ans = 0;while(l <= r){//l==r在同一个数上也要算、if(a[l]+a[r]<=w)l++, r--, ans++;else r--, ans++;}cout<<ans<<'\n';return 0;
}

转载于:https://www.cnblogs.com/gwj1314/p/9444631.html

【NOIP2007】【Luogu1094】纪念品分组(贪心,乘船问题)相关推荐

  1. 信息学奥赛一本通 1939:【07NOIP普及组】纪念品分组 | P1094 [NOIP2007 普及组] 纪念品分组

    [题目链接] ybt 1939:[07NOIP普及组]纪念品分组 洛谷 P1094 [NOIP2007 普及组] 纪念品分组 [题目考点] 1. 贪心 [解题思路] 贪心选择:选择价格最小的和最大的纪 ...

  2. Vijos P1409 纪念品分组【贪心】

    描述 元旦快到了,校学生会让乐乐负责新年晚会的纪念品发放工作.为使得参加晚会的同学所获得 的纪念品价值相对均衡,他要把购来的纪念品根据价格进行分组,但每组最多只能包括两件纪念品, 并且每组纪念品的价格 ...

  3. 算法训练 纪念品分组(java)

    算法训练 纪念品分组(java) 描述 元旦快到了,校学生会让乐乐负责新年晚会的纪念品发放工作.为使得参加晚会的同学所获得的纪念品价值 相对均衡,他要把购来的纪念品根据价格进行分组,但每组最多只能包括 ...

  4. codevs 1143 纪念品分组

    1143 纪念品分组 2007年NOIP全国联赛普及组  时间限制: 1 s  空间限制: 128000 KB  题目等级 : 白银 Silver 题解 题目描述 Description 元旦快到了, ...

  5. 洛谷刷题:火星人、奖学金、纪念品分组、统计数字、字符串的展开

    好久没写洛谷了,不优雅的代码又来啦~ [NOIP2004 普及组] 火星人 题目描述 人类终于登上了火星的土地并且见到了神秘的火星人.人类和火星人都无法理解对方的语言,但是我们的科学家发明了一种用数字 ...

  6. java 蓝桥杯算法训练 纪念品分组(题解)

    试题 算法训练 纪念品分组 资源限制 时间限制:1.0s 内存限制:256.0MB 问题描述 元旦快到了,校学生会让乐乐负责新年晚会的纪念品发放工作.为使得参加晚会的同学所获得的纪念品价值 相对均衡, ...

  7. 1483. 纪念品分组 输出好忧桑…………

    1483. 纪念品分组 Constraints Time Limit: 1 secs, Memory Limit: 32 MB Description 元旦快到了,校学生会让乐乐负责新年晚会的纪念品发 ...

  8. SDNU-1183.纪念品分组

    SDNU-1183.纪念品分组 Description 元旦快到了,校学生会让乐乐负责新年晚会的纪念品发放工作.为使得参加晚会的同学所获得 的纪念品价值相对均衡,他要把购来的纪念品根据价格进行分组,但 ...

  9. 【洛谷_P1094】纪念品分组

    纪念品分组 Description 元旦快到了,校学生会让乐乐负责新年晚会的纪念品发放工作.为使得参加晚会的同学所获得 的纪念品价值相对均衡,他要把购来的纪念品根据价格进行分组,但每组最多只能包括两件 ...

最新文章

  1. c语言int t格式,如何在C中打印int64_t类型
  2. MFC VS2005 添加Override 和 Message
  3. acme编辑器linux版,CAD迷你编辑器
  4. Java多态的实现方式,实战篇
  5. spark 字符串操作
  6. Java 根据 Map 的 key 的 ASCII 码从小到大排序
  7. JavaScript相关文章推荐
  8. Qlik Sense 集合表达式
  9. 良心分享!最全面cmd快捷指令及使用方法,万字总结
  10. python 小说下载工具_笔趣阁小说爬取工具【附源码】下载Python版
  11. outlook附件无图标_通过将图标列添加到Outlook 2007待办事项栏中,一目了然地查看任务类型...
  12. 关于yum repo-pkgs命令使用测试
  13. 词袋模型基本原理——DBoW3
  14. 绩效管理的目的和目标
  15. HTTP和HTTPS的区别以及含义
  16. 美的华为鸿蒙,美的鸿蒙家电正式上线!华为鸿蒙系统,你很快就能用上!
  17. 30分钟迅速入门Linux基本命令
  18. 物理学的大厦已经建成,只是天边还有两朵小乌云
  19. SQL SERVER 解析XML字符串
  20. Ubuntu Budgie 18.04 软件环境配置与CUDA 9.1、cuDNN7.1、Pytorch安装

热门文章

  1. linux 挂载网络文件系统,linux 挂载网络文件系统
  2. composer update报错: The https://packagist.phpcomposer.com/p/xxx file could not be downloaded
  3. Elasticsearch-PHP学习
  4. 【以太坊】在测试网络上发布智能合约
  5. 查看自己的Android studio 版本
  6. linux页面置换的存储,3.4.4 第二次机会页面置换算法
  7. linux rpm安装不成功,rpm 包不能成功安装
  8. java excel读取操作,Java读取Excel并操作
  9. 在网络推广外包中企业网站排名优化在网络推广外包中如何实现?
  10. 传统网站与营销型网站区别盘比