题意

有\(n\)只袋鼠,每只袋鼠有一个体积,如果一个袋鼠的体积小于等于另一个袋鼠体积的一半,那么这个袋鼠就可以被那一个袋鼠装进袋里。一个装了袋鼠的袋鼠不能再装或被装。被装进袋子的袋鼠就看不到了。

问如何装袋让能看到的袋鼠最少。

分析

这是一个贪心问题。

首先,如果一个袋鼠能装另一个袋鼠,那么装必定是最优的。

把袋鼠按体积从小到大排好序,对于第\(x,y (x<y)\)号袋鼠,如果\(y\)号能装\(x\)号,那么\(y\)号及其后面的必定可以装下\(x\)号及其前面的。如果\(y\le \frac{n}{2}\)那么装的比被装的多,所以把\(y\)后移是不会影响答案。

所以我们得到了贪心的方法,把整个序列排序分成两半,前面一半被后面一半装,得到的肯定是最优的。

代码

#include<cstdio>
#include<cctype>
#include<algorithm>
using namespace std;
int read() {int x=0,f=1;char c=getchar();for (;!isdigit(c);c=getchar()) if (c=='-') f=-1;for (;isdigit(c);c=getchar()) x=x*10+c-'0';return x*f;
}
int main() {
#ifndef ONLINE_JUDGEfreopen("test.in","r",stdin);
#endifint n=read(),ans=0;static int a[500005];for (int i=1;i<=n;++i) a[i]=read();sort(a+1,a+n+1);for (int i=1,j=(n>>1)+1;i<=(n>>1) && j<=n;++i) {for (;j<n && a[i]*2>a[j];++j);if (a[i]*2<=a[j]) ++ans,++j;}printf("%d\n",n-ans);return 0;
}

转载于:https://www.cnblogs.com/owenyu/p/7157403.html

CF373C-Counting Kangaroos is Fun相关推荐

  1. CodeForces:372(div1)div373(div2)

    文章目录 前言 CF373A Collecting Beats is Fun Description\text{Description}Description Solution\text{Soluti ...

  2. Codeforces Round #219 (Div. 2) 解题报告

    Problem A Collecting Beats is Fun 题意:就是音乐游戏在4*4的网上一些格子需要在固定的时间点,告诉你一只手同一时间能点几个.问你能不能通关(就是一个不丢) 思路:水题 ...

  3. DFS:深入优先搜索 POJ-2386 Lake Counting

    深度优先搜索是从最开始的状态出发,遍历所有可以到达的状态. 因此可以对所有的状态进行操作,或列举出所有的状态. Lake Counting POJ - 2386 Due to recent rains ...

  4. Boring counting HDU - 3518 (后缀数组)

    Boring counting \[ Time Limit: 1000 ms \quad Memory Limit: 32768 kB \] 题意 给出一个字符串,求出其中出现两次及以上的子串个数,要 ...

  5. pat1004. Counting Leaves (30)

    1004. Counting Leaves (30) 时间限制 400 ms 内存限制 65536 kB 代码长度限制 16000 B 判题程序 Standard 作者 CHEN, Yue A fam ...

  6. CF990G GCD Counting(树上莫比乌斯反演,分层图,并查集)

    整理的算法模板合集: ACM模板 点我看算法全家桶系列!!! 实际上是一个全新的精炼模板整合计划 Problem 给定一棵点带权无根树,对于每个 k∈[1,2×105]k\in[1,2\times10 ...

  7. 2019 ACM - ICPC 上海网络赛 E. Counting Sequences II (指数型生成函数)

    繁凡出品的全新系列:解题报告系列 -- 超高质量算法题单,配套我写的超高质量题解和代码,题目难度不一定按照题号排序,我会在每道题后面加上题目难度指数(1∼51 \sim 51∼5),以模板题难度 11 ...

  8. 人群密度估计--Structured Inhomogeneous Density Map Learning for Crowd Counting

    Structured Inhomogeneous Density Map Learning for Crowd Counting https://arxiv.org/abs/1801.06642 针对 ...

  9. 人群密度估计--Leveraging Unlabeled Data for Crowd Counting by Learning to Rank

    Leveraging Unlabeled Data for Crowd Counting by Learning to Rank CVPR2018 https://github.com/xialeil ...

  10. 人群密度估计--Crowd Counting Via Scale-adaptive Convolutional Nerual Network

    Crowd Counting Via Scale-adaptive Convolutional Nerual Network https://arxiv.org/abs/1711.04433v2 Co ...

最新文章

  1. 关于大型网站技术演进的思考(四)-存储的瓶颈4
  2. 服务器证书安装配置指南(Nginx)-天威诚信
  3. (转)mq经验总结-转
  4. 解决ubuntu adb devices 找不到设备
  5. 论文浅尝 | 面向单关系事实问题的中文问答模型
  6. 主要编程教学语言的讨论
  7. java把对象放入数组_如何将对象添加到数组
  8. C/C++训练项目一:2048
  9. 高一下学期计算机,高一信息技术下学期教学计划
  10. 魔方优化大师 v5.15 中文绿色版
  11. 使用过滤器解决中文乱码问题
  12. Bachelor's song
  13. c++使用hiredis库操作redis讲解
  14. AES加解密(ECB模式)
  15. IC 芯片 丝印反查 芯片型号 Mark code
  16. tmux系列:3、tmux窗口和窗格
  17. 西门子smart200和西门子伺服V90三轴程序 包括smart200PLC 程序和西门子smart触摸屏程序
  18. 求Deepin litexp v6.2 帮帮忙吧!!
  19. python 开发浏览器插件,利用firebreath开发跨浏览器插件
  20. 中文自动文摘关键技术总结

热门文章

  1. 商城静态页面(仿小米官网)
  2. keil 中 warning: #1-D: last line of file ends without a newline的解决办法
  3. Libero Soc v11.9的安装以及证书的获取(2021新版)
  4. 我一生中最重要的12个人
  5. 短信网关协议(cmpp、sgip、smgp、smpp)长短信开发要点
  6. android分享到微博,Android集成新浪微博SDK分享
  7. Frequent Subsets Problem
  8. ftp 连接失败。500 OOPS: cannot change directory:
  9. 优客在线大学计算机基础答案,优课在线大学计算机基础答案.pdf
  10. 即兴演讲的秘诀结构(一)