ECNUOJ 2142 放书
放书
Time Limit:1000MS Memory Limit:65536KB
Total Submit:409 Accepted:173
Description
你要把一叠书放进一些箱子里面,为了节约箱子,你要放尽量多的书到一个箱子里面,但不能超过箱子的重量限制。
当你把尽量多的书放进一个箱子以后,你把箱子关上,然后用下一个箱子去装书。为了避免麻烦,你只按书堆叠的从上到下的顺序把书放进箱子,也就是说在下面的书不会比上面的书先放进箱子。
从上到下给你每本书的重量和箱子的能承受的重量,你能求出需要多少个箱子吗?
Input
第一行是一个整数T,表示有T组测试数据。
每组测试数据的第一行是两个整数n(0<=n<=50),k(1<=k<=1000),表示有n本书,每个箱子的载重上限是k。
接下来一行有n个整数,表示n本书的重量,从上到下。这n个整数都大于等于1且小于等于k。
Output
对于每组测试数据,输出需要箱子的个数,占一行。
Sample Input
2
6 10
5 5 5 5 5 5
11 12
12 1 11 2 10 3 4 5 6 6 1
Sample Output
3
6
Source
解题:一道dp,dp[i]表示从i开始到最后最小需要几个箱子
#include <bits/stdc++.h>
using namespace std;
const int maxn = ;
int d[maxn],dp[maxn];
int main(){
int kase,n,m;
scanf("%d",&kase);
while(kase--){
scanf("%d%d",&n,&m);
for(int i = ; i < n; ++i){
scanf("%d",d+i);
}
int ret = ;
memset(dp,0x3f,sizeof dp);
dp[n] = ;
for(int i = n-; i >= ; --i){
int sum = ;
for(int j = i; j < n; ++j){
sum += d[j];
if(sum > m) break;
dp[i] = min(dp[i],dp[j+] + );
}
}
printf("%d\n",dp[]);
}
return ;
}
ECNUOJ 2142 放书的更多相关文章
- C# 面向对象基础
面向对象编程OOP(Object-Oriented Programming) 类和对象 类是对象的定义,对象是类的实现. [属性集信息] [类修饰符] class 类名 [:类基] //定义类的语法格 ...
- [BZOJ1861][Zjoi2006]Book 书架
[BZOJ1861][Zjoi2006]Book 书架 试题描述 小T有一个很大的书柜.这个书柜的构造有些独特,即书柜里的书是从上至下堆放成一列.她用1到n的正整数给每本书都编了号. 小T在看书的时候 ...
- BZOJ 1861: [Zjoi2006]Book 书架
1861: [Zjoi2006]Book 书架 Time Limit: 4 Sec Memory Limit: 64 MBSubmit: 1290 Solved: 740[Submit][Stat ...
- CodeForces #368 div2 D Persistent Bookcase DFS
题目链接:D Persistent Bookcase 题意:有一个n*m的书架,开始是空的,现在有k种操作: 1 x y 这个位置如果没书,放书. 2 x y 这个位置如果有书,拿走. 3 x 反转这 ...
- BZOJ 1861: [Zjoi2006]Book 书架 splay
1861: [Zjoi2006]Book 书架 Description 小T有一个很大的书柜.这个书柜的构造有些独特,即书柜里的书是从上至下堆放成一列.她用1到n的正整数给每本书都编了号. 小T在看书 ...
- web开发-给即将毕业实习生的一点面试经验
简历投递: 智联招聘51job 像赶集网和58同城最好别去投 面试的公司,特别是深圳这边,面试的时候公司小,很多人,八九不离十是那种搞培训的,很多时候,有些公司会主动打电话来教你去面试,这些绝大多数也 ...
- c#基础-oop(面向对象理解)
OOP-面向对象 封装,继承多态 一个桌子,用面向对象来描述一下它这个桌子项目 定义桌子类 对象:桌子 桌子的属性:名字,材质,体积 桌子的方法;放东西(方法) 现在桌子要放书,放花瓶,放文件(这里就 ...
- BZOJ-1861 Book 书架 Splay
1861: [Zjoi2006]Book 书架 Time Limit: 4 Sec Memory Limit: 64 MB Submit: 1010 Solved: 588 [Submit][Stat ...
- CF 500 C. New Year Book Reading 贪心 简单题
New Year is coming, and Jaehyun decided to read many books during 2015, unlike this year. He has n b ...
随机推荐
- (转载)10个实用的但偏执的Java编程技术
10个实用的但偏执的Java编程技术 在沉浸于编码一段时间以后(比如说我已经投入近20年左右的时间在程序上了),你会渐渐对这些东西习以为常.因为,你知道的…… 作者:小峰来源:码农网|2015-09- ...
- 【原创】java中各种集合类的实现浅析
[LinkedList] LinkedList使用了链表来实现List功能,而且是双向循环链表,它的Entry定义如下: private static class Entry<E> { / ...
- c++类模板初探
#include <iostream> #include <string> using namespace std; // 你提交的代码将嵌入到这里 ; template &l ...
- yii2.0 利用Excel类做导入导出
1.在 common 目录下 创建一个 components 将 Classes目录(改名为PHPExcel)和PHPExcel.php 放在新创建的目录下.再在 components 下创建一个Co ...
- java上传文件工具类
这个是之前整理之前所学时与使用java向邮箱发送邮件一块找到的,一起贴出来供大家参考: import java.awt.image.BufferedImage; import java.io.File ...
- 【BZOJ4448】【SCOI2015】情报传递
这题面错别字真tm多 题意: Description 奈特公司是一个巨大的情报公司,它有着庞大的情报网络.情报网络中共有n名情报员.每名情报员口J-能有若T名(可能没有)下线,除1名大头日外其余n-1 ...
- codevs 1288 埃及分数 (迭代加深搜索)
题目大意:给你一个分数$a/b$,把它拆解成$\sum_{i=1}^{n}1/ai$的形式,必须保证$ai$互不相同的情况下,尽量保证n最小,其次保证分母最大的分数的分母最小 什么鬼玄学题!!! 因为 ...
- Hibernate中如何完成持久化类和数据库映射文件
因为最近写项目需要要到,就在这里码码字,方便以后做一个参考,在这里,我通过的是myeclipse的反向工程来配置持久化类和数据的映射文件的. 1.打开myeclipse,打开数据库视图,对应的是Win ...
- hdu 4841 圆桌问题(用vector模拟约瑟夫环)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4841 圆桌问题 Time Limit: 3000/1000 MS (Java/Others) M ...
- libevent的使用(socket)
这篇文章介绍下libevent在socket异步编程中的应用.在一些对性能要求较高的网络应用程序中,为了防止程序堵塞在socket I/O操作上造成程序性能的下降,须要使用异步编程,即程序准备好读写的 ...