csu 1775 悲催的移寝(贪心)
来源:互联网 发布:linux静态服务器 编辑:程序博客网 时间:2024/04/29 14:31
悲催的移寝
Time Limit: 1 Sec Memory Limit: 128 MBSubmit: 123 Solved: 28
[Submit][Status][Web Board]
Description
对于csuxushu来说,能够在CSU(California State University)上学是他一生的荣幸,而换校区搬寝室则是他最大的不幸。顺利通过省赛选拔,开心的csuxushu现在需要着手准备搬家事宜。
对于好学的csuxushu来说,唯一头疼的就是书籍的搬运了,因为他的书实在是太多了。为了防止书籍在运输过程中受损,他打算定制特制的储物保护箱。为了简单起见,我们假设他所有的书都是一样规格。由于是批量定制,这些储物箱都有相同的长度L,宽度和厚度都是一本书的宽度和厚度。csuxushu有一个特殊的要求,那就是每个储物箱最多只能放两本书。当然,他需要运走所有的N本书,并且每一个储物箱里书的总长度不能超过L。
尽管校队队员给了csuxushu许多奖励,csuxushu还是想定尽可能少的储物箱,以求节约经费,然而面对这么困难的问题他显然是一脸懵逼,这时候他想到了你——全CSU最厉害的程序员来帮助他解决这个问题。
Input
第一行一个整数T,代表有T组数据,之后一个空行并且接下来每两组数据之间有一个空行。
每组数据第一行,为1个整数n (1 ≤ n ≤ 10^5),代表有n本书。第二行,为1个整数L ,1≤l ≤ 10000 ,为特制储物箱长度。接下来n行,分别为每本书的长度li,li≤l。
Output
每组数据输出一行,即csuxushu至少需要定多少储物箱。
Sample Input
1108070153035108020351030
Sample Output
6
HINT
思路:明显的贪心,一开始觉得应该二分找剩余空间里能塞得下的最大的,但是一直WA了,不知道为什么,可能是upperbound没用好
后面发现可以不用二分,当前如果能找到那个最大的,后面也一定可以找到,所以只要贪心取最小的即可
代码:
#include <iostream>#include <cstdio>#include <cstring>#include <algorithm>#include <cmath>#include <queue>using namespace std;#define N 100005int a[N],vis[N];int main(){ int T,n,L,tot=0; scanf("%d",&T); while(T--) { memset(vis,0,sizeof(vis)); scanf("%d %d",&n,&L); for(int i=0; i<n; i++) scanf("%d",&a[i]); sort(a,a+n); int ans=0,l=0,r=n-1; while(l<=r) { if(a[r]+a[l]<=L) l++,r--; else r--; ans++; } if(tot) printf("\n"); printf("%d\n",ans); tot++; } return 0;}
0 0
- csu 1775 悲催的移寝(贪心)
- CSU 1775:悲催的移寝(贪心)
- CSU 1775 悲催的移寝 贪心
- CSU 1775: 悲催的移寝 <贪心>
- CSU 1775: 悲催的移寝
- csu 1774 慷慨的奖励(模拟链表,贪心)
- CSU 1408: 种植树苗(贪心啊 )
- CSU 1009 抛硬币(贪心)
- CSU 1093 Caps Lock (贪心+模拟)
- CSU 1922:Irony Ring(贪心算法)
- CSU 1971:安排座位(贪心)
- CSU1775-悲催的移寝-贪心
- CSU 1065 Scientific Conference 贪心(基本的调度问题)
- csu 1603: Scheduling the final examination(贪心)
- CSU 1603 Scheduling the final examination(贪心)
- 文章标题 CSU 1859: Gone Fishing(贪心)
- CSU 1719(智障选手的DFS)
- CSU 1919:不醉不归(神奇的dp)
- flex中iframe导致flash player崩溃问题
- Android开发中的MVP架构
- iOS直播等开源项目地址收藏
- Spring @transaction注解propagation属性
- 王爽《汇编语言》课程设计1
- csu 1775 悲催的移寝(贪心)
- iOS传入颜色返回图片
- XML学习笔记
- mysql选出 user中mobile相同(相同数量>1)的行
- 如何搭建报告系统,提升管理水平
- Android编程之SparseArray<E>详解
- AMD Radeon HD 7670M 显卡折腾
- iOS TableView更新某一组某一行
- C# 根据一个数区分小时,分钟,秒