【NOIP模拟赛】小猫爬山
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模拟赛】小猫爬山相关推荐
- NOI.AC NOIP模拟赛 第六场 游记
NOI.AC NOIP模拟赛 第六场 游记 queen 题目大意: 在一个\(n\times n(n\le10^5)\)的棋盘上,放有\(m(m\le10^5)\)个皇后,其中每一个皇后都可以向上.下 ...
- 【noip模拟赛4】Matrix67的派对 暴力dfs
[noip模拟赛4]Matrix67的派对 描述 Matrix67发现身高接近的人似乎更合得来.Matrix67举办的派对共有N(1<=N<=10)个人参加,Matrix67需要把他们安排 ...
- 【HHHOJ】NOIP模拟赛 捌 解题报告
点此进入比赛 得分: \(30+30+70=130\)(弱爆了) 排名: \(Rank\ 22\) \(Rating\):\(-31\) \(T1\):[HHHOJ260]「NOIP模拟赛 捌」Dig ...
- jyzy noip模拟赛5.22-2
不知道哪来的题 jyzy noip模拟赛5.22-2 样例输入 1 2 3 4 样例输出 0.200000000000000 数据 |a|,|b|,|c|,|d|<=1e9 很多大佬迅速想到二分 ...
- NOIP模拟赛csy2021/10/30
NOIP模拟赛csy2021/10/30 比赛时间规划 赛后反思与总结 这..总的来说感觉打的很不好,根本没有状态,有一部分原因是今天来晚了,太慌,更多的还是这次题感觉很难o(╥﹏╥)o 比赛时间规划 ...
- 【WZOI第二次NOIP模拟赛Day1T2】世界末日 解题报告
[WZOI第二次NOIP模拟赛Day1T2]世界末日 Problem 2 世界末日 (doomsday.pas/c/cpp) 背景 话说CWQ大牛终于打开了那扇神秘大门,但迎接他的不是什么神秘的东西, ...
- NOIP 模拟赛 长寿花 题解
NOIP 模拟赛 长寿花 题解 要放 \(n\) 层物品,第 \(i\) 层有 \(a_i\) 个位置放物品,物品有 \(m\) 中颜色,有约束条件: 同一层两个相邻物品颜色不能相同. 相邻两层颜色集 ...
- 辣鸡(ljh) NOIP模拟赛 模拟 平面几何 数论 化学相关(雾)
[题目描述] 辣鸡ljhNOI之后就退役了,然后就滚去学文化课了. 然而在上化学课的时候,数学和化学都不好的ljh却被一道简单题难住了,受到了大佬的嘲笑. 题目描述是这样的:在一个二维平面上有一层水分 ...
- NOIP模拟赛套路技巧经验总结
前言 还有2天就NOIP了,之前做了这么多场模拟赛,是时候拿出来总结一下, 算是给自己一针强心剂. 列表 从最近的考试总结起(个人认为的重点,可能有重复,仅供参考): (转化很重要,一定要简化问题过后 ...
- 【NOIP 模拟赛】平均数 涂色游戏 序列题解
吐槽(完跪):神tmNOIP模拟赛,看到大题头根本高级数据结构什么的想都没想,结果死的很惨,第三题竟然要可持久化线段树,这NOIP我服了. 平均数: 这道题40分相信大家都能拿到,剩下的60分讲真考验 ...
最新文章
- 为什么Redis内存不宜过大
- 导入数据任务(id:373985)异常, 错误信息:解析导入文件错误,请检查导入文件内容,仅支持导入json格式数据及excel文件
- 中国首份AI落地白皮书发布!地方政府规模大,金融领域最积极,北京供给超上海深圳总和...
- js/jQuery判断浏览器名称、内核版本、浏览器壳
- H5 history.pushState 在微信内修改url后点击用safari打开/复制链接是修改之前的页面...
- Python中list复制引发的问题
- python学习(八)定制类和枚举
- 用sklearn mysql_sklearn 生成随机数据
- 一些 NSArray 的基本操作代码例子
- turboc7运行C测试 vc6.0测试
- 使用易宝支付接口实现java网上支付功能。
- 简单的C语言程序示例
- 在win10 python3用pyhive连接hive
- mysql 使用idb文件恢复数据
- excel计数连续负数(正数)
- 网络渗透中的指纹识别
- 华为鸿蒙操作系统的优势与短板
- 这应该是最全的软件测试工程师必读书籍
- 计算机在维氏硬度的应用,华银显微维氏硬度计HVS-1000A使用方法
- C/C++二维数组顺时针翻转90度
热门文章
- oracle 结果集已耗尽_java.sql.SQLException: 结果集已耗尽,该怎么解决
- windows下Intel核显应用ffmpeg的qsv插件编解码
- 【嵌入式】CPU性能提升:流水线机制
- 如何去除PDF中的水印,PDF去水印方法
- 湖北计算机专业不错的学校,计算机专业大学TOP10排名,湖北一所大学上榜,这个地方占了四所...
- 检查两个时间段是否有时间重叠(允许重叠一部分时间不算重叠)
- Action Recognition Using Attention-Joints Graph Convolutional Neural Networks翻译
- 计算机更改用户密码,教你怎么修改电脑开机密码
- 实现strStr()
- [工具集]介绍一波我常用的小工具