Description
Freda和rainbow饲养了N只小猫,这天们要去爬山。经历了千辛万苦,小猫们终于爬上了山顶,但是疲倦的它们再也不想徒步走下(呜咕><><)。
Freda和rainbow只好花钱让它们坐索道下山。索道上的缆车最大承重量为W,而N只小猫的重量分别是 C1、C2…… CN。当然,每辆缆车上的小猫重量之和不能超过W。每 租用一辆缆车,Freda和rainbow就要付1美元,所以他们想知道,最少需要付多少美元才能把这N只小猫都运送下山?

Input
第一行包含两个用空格隔开的整数,N和W。
接下来N行每一个整数,其中第 i+1行的整数表示第i只小猫的重量Ci。

Output
输出 一个整数,最少需要多美元也就是辆缆车 。

Sample Input
5 1996
1
2
1994
12
29

Sample Output
2

Data Constraint
对于100%的数据,1<=N<=18,1<=Ci<=W<=10^8

题解

一看N<=18,马上就想到random_shuffle乱搞,直接统计前缀和然后贪心分组就OK

#include<bits/stdc++.h>
using namespace std;
const long long inf=20000000000;
long long cat[25];
long long sum[25];
long long n,m,tot,ans;
long long read() {long long num=0;char ch=getchar();while(ch>'9'||ch<'0') {ch=getchar();}while(ch>='0'&&ch<='9') {num=(num<<1)+(num<<3)+ch-'0';ch=getchar();}return num;
}
int main() {n=read(),m=read();ans=inf;for(int i=1; i<=n; i++) {cat[i]=read();}for(int i=1; i<=2000; i++) {//i的上限大家自己随便乱搞都行long long m_=m;random_shuffle(cat+1,cat+n+1);for(int j=1; j<=n; j++) {sum[j]=cat[j]+sum[j-1];}sum[n+1]=inf;int x=upper_bound(sum+1,sum+n+1+1,m)-sum;x-=1;if(x==n) {puts("1");return 0;}while(x!=n) {tot++;m=m_+sum[x];x=upper_bound(sum+1,sum+n+1+1,m)-sum;x-=1;if(x==n) {tot++;}}ans=min(ans,tot);tot=0;m=m_;}printf("%lld",ans);return 0;
}

【NOIP模拟赛】小猫爬山相关推荐

  1. NOI.AC NOIP模拟赛 第六场 游记

    NOI.AC NOIP模拟赛 第六场 游记 queen 题目大意: 在一个\(n\times n(n\le10^5)\)的棋盘上,放有\(m(m\le10^5)\)个皇后,其中每一个皇后都可以向上.下 ...

  2. 【noip模拟赛4】Matrix67的派对 暴力dfs

    [noip模拟赛4]Matrix67的派对 描述 Matrix67发现身高接近的人似乎更合得来.Matrix67举办的派对共有N(1<=N<=10)个人参加,Matrix67需要把他们安排 ...

  3. 【HHHOJ】NOIP模拟赛 捌 解题报告

    点此进入比赛 得分: \(30+30+70=130\)(弱爆了) 排名: \(Rank\ 22\) \(Rating\):\(-31\) \(T1\):[HHHOJ260]「NOIP模拟赛 捌」Dig ...

  4. jyzy noip模拟赛5.22-2

    不知道哪来的题 jyzy noip模拟赛5.22-2 样例输入 1 2 3 4 样例输出 0.200000000000000 数据 |a|,|b|,|c|,|d|<=1e9 很多大佬迅速想到二分 ...

  5. NOIP模拟赛csy2021/10/30

    NOIP模拟赛csy2021/10/30 比赛时间规划 赛后反思与总结 这..总的来说感觉打的很不好,根本没有状态,有一部分原因是今天来晚了,太慌,更多的还是这次题感觉很难o(╥﹏╥)o 比赛时间规划 ...

  6. 【WZOI第二次NOIP模拟赛Day1T2】世界末日 解题报告

    [WZOI第二次NOIP模拟赛Day1T2]世界末日 Problem 2 世界末日 (doomsday.pas/c/cpp) 背景 话说CWQ大牛终于打开了那扇神秘大门,但迎接他的不是什么神秘的东西, ...

  7. NOIP 模拟赛 长寿花 题解

    NOIP 模拟赛 长寿花 题解 要放 \(n\) 层物品,第 \(i\) 层有 \(a_i\) 个位置放物品,物品有 \(m\) 中颜色,有约束条件: 同一层两个相邻物品颜色不能相同. 相邻两层颜色集 ...

  8. 辣鸡(ljh) NOIP模拟赛 模拟 平面几何 数论 化学相关(雾)

    [题目描述] 辣鸡ljhNOI之后就退役了,然后就滚去学文化课了. 然而在上化学课的时候,数学和化学都不好的ljh却被一道简单题难住了,受到了大佬的嘲笑. 题目描述是这样的:在一个二维平面上有一层水分 ...

  9. NOIP模拟赛套路技巧经验总结

    前言 还有2天就NOIP了,之前做了这么多场模拟赛,是时候拿出来总结一下, 算是给自己一针强心剂. 列表 从最近的考试总结起(个人认为的重点,可能有重复,仅供参考): (转化很重要,一定要简化问题过后 ...

  10. 【NOIP 模拟赛】平均数 涂色游戏 序列题解

    吐槽(完跪):神tmNOIP模拟赛,看到大题头根本高级数据结构什么的想都没想,结果死的很惨,第三题竟然要可持久化线段树,这NOIP我服了. 平均数: 这道题40分相信大家都能拿到,剩下的60分讲真考验 ...

最新文章

  1. 为什么Redis内存不宜过大
  2. 导入数据任务(id:373985)异常, 错误信息:解析导入文件错误,请检查导入文件内容,仅支持导入json格式数据及excel文件
  3. 中国首份AI落地白皮书发布!地方政府规模大,金融领域最积极,北京供给超上海深圳总和...
  4. js/jQuery判断浏览器名称、内核版本、浏览器壳
  5. H5 history.pushState 在微信内修改url后点击用safari打开/复制链接是修改之前的页面...
  6. Python中list复制引发的问题
  7. python学习(八)定制类和枚举
  8. 用sklearn mysql_sklearn 生成随机数据
  9. 一些 NSArray 的基本操作代码例子
  10. turboc7运行C测试 vc6.0测试
  11. 使用易宝支付接口实现java网上支付功能。
  12. 简单的C语言程序示例
  13. 在win10 python3用pyhive连接hive
  14. mysql 使用idb文件恢复数据
  15. excel计数连续负数(正数)
  16. 网络渗透中的指纹识别
  17. 华为鸿蒙操作系统的优势与短板
  18. 这应该是最全的软件测试工程师必读书籍
  19. 计算机在维氏硬度的应用,华银显微维氏硬度计HVS-1000A使用方法
  20. C/C++二维数组顺时针翻转90度

热门文章

  1. oracle 结果集已耗尽_java.sql.SQLException: 结果集已耗尽,该怎么解决
  2. windows下Intel核显应用ffmpeg的qsv插件编解码
  3. 【嵌入式】CPU性能提升:流水线机制
  4. 如何去除PDF中的水印,PDF去水印方法
  5. 湖北计算机专业不错的学校,计算机专业大学TOP10排名,湖北一所大学上榜,这个地方占了四所...
  6. 检查两个时间段是否有时间重叠(允许重叠一部分时间不算重叠)
  7. Action Recognition Using Attention-Joints Graph Convolutional Neural Networks翻译
  8. 计算机更改用户密码,教你怎么修改电脑开机密码
  9. 实现strStr()
  10. [工具集]介绍一波我常用的小工具