NOIP2001 普及组 装箱问题

标准的01背包,就不写分析了,标准就看 我的背包问题的解析

?





1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

/*

* =====================================================================================

*

* Filename: noippujizhuangxiang.c

*

* Description: RT

*

* Version: 1.0

* Created: 2014-05-19 15:44:57

* Revision: none

* Compiler: gcc

*

* Author: Rainboy (mn), [email protected]

* Company: NONE

*

* =====================================================================================

*/

#include <stdio.h>

int
a[20001]={0};

int
V,numofwupin=0;

int
b[30]={0};

int
main(int
argc, const
char *argv[])

{

scanf("%d",&V);

scanf("%d",&numofwupin);

int
i,j,k,l;

for
(i = 0; i < numofwupin; i++) {

scanf("%d",&b[i]);

}

for
(j = 0; j < numofwupin; j++) {

for
(i = V; i >0; i--) {

if((b[j]<=i) &&(b[j]+a[i-b[j]] > a[i]))

a[i]= b[j] + a[i-b[j]];

}

}

printf("%d\n",V-a[V]);

return
0;

}

  

NOIP2001 普及组 装箱问题,布布扣,bubuko.com

时间: 2024-08-24 09:18:35

NOIP2001 普及组 装箱问题的相关文章

NOIP2001普及组解题报告

数的计算 分析:递归即可.不用学他造数. #include<iostream> #include<algorithm> using namespace std; int f(int n){ int ret=1; for(int i=1;i<=n/2;++i){ ret+=f(i); } return ret; } int main(){ int n; cin>>n; cout<<f(n); return 0; } 求先序排列 分析:将中序排列分为l到r

[NOIP2001] 普及组

装箱问题 裸01背包,速刷过 1 #include<cstdio> 2 #include<iostream> 3 #include<cmath> 4 using namespace std; 5 int sp[50000]={0}; 6 int f[50000]={0}; 7 int main(){ 8 int v,n; 9 cin>>v>>n; 10 int i,j; 11 for(i=1;i<=n;i++){ 12 scanf(&quo

【递归】Vijos P1132 求二叉树的先序序列(NOIP2001普及组第三题)

题目链接: https://vijos.org/p/1132 题目大意: 给定二叉树的中序和后序遍历,求该二叉树先序遍历. 题目思路: [递归] 这题妥妥递归. 二叉树先序根左右,中序左根右,后序左右根. 对于每一颗子树,它的后序最后一个必定是根,于是可以根据根在中序的位置把左子树和右子树区分开来. 1 // 2 //by coolxxx 3 // 4 #include<iostream> 5 #include<algorithm> 6 #include<string>

2017年8月14日套题记录 | 普及组

写在前面 今天登洛谷发现离Noip剩下88天了??(虽然看起有点久),然后觉得似乎水了一个暑假什么也没做(虽然学了点数据结构和一些奇奇Gaygay的东西),于是打开题库发现去年Long Happy的集训套题我似乎没有提交过,那就一天一套题,顺便码个题解+心得(雾? T2.传作业 题目描述 某十三同学一日上学迟到,此时已经开始上早自习了,所以他只好请同学帮忙把作业传到组长那里.由于刚开学不久,某十三同学还没来得及认识所有同学,所以传作业时只好找熟悉的同学.已知某十三与组长之间有N个他熟悉的同学,并

1143 纪念品分组 2007年NOIP全国联赛普及组

1143 纪念品分组 2007年NOIP全国联赛普及组 时间限制: 1 s 空间限制: 128000 KB 题目等级 : 白银 Silver 题解 查看运行结果 题目描述 Description 元旦快到了,校学生会让乐乐负责新年晚会的纪念品发放工作.为使得参加晚会的同学所获得的纪念品价值相对均衡,他要把购来的纪念品根据价格进行分组,但每组最多只能包括两件纪念品,并且每组纪念品的价格之和不能超过一个给定的整数.为了保证在尽量短的时间内发完所有纪念品,乐乐希望分组的数目最少. 你的任务是写一个程序

采药 2005年NOIP全国联赛普及组&amp;疯狂的采药

时间限制: 1 s 空间限制: 128000 KB 题目等级 : 黄金 Gold 题目描述 Description 辰辰是个天资聪颖的孩子,他的梦想是成为世界上最伟大的医师.为此,他想拜附近最有威望的医师为师.医师为了判断他的资质,给他出了一个难题.医师把他带到一个到处都是草药的山洞里对他说:"孩子,这个山洞里有一些不同的草药,采每一株都需要一些时间,每一株也有它自身的价值.我会给你一段时间,在这段时间里,你可以采到一些草药.如果你是一个聪明的孩子,你应该可以让采到的草药的总价值最大."

[NOIP2013] 普及组

计数问题 纯模拟 1 #include<cstdio> 2 #include<iostream> 3 using namespace std; 4 int main(){ 5 int n,x; 6 cin>>n>>x; 7 int i,c=0; 8 for(i=1;i<=n;i++){ 9 int a=i; 10 while(a!=0){ 11 if(a%10==x)c++; 12 a/=10; 13 } 14 } 15 cout<<c;

NOIP2008 普及组T2 排座椅 解题报告-S.B.S

题目描述 上课的时候总会有一些同学和前后左右的人交头接耳,这是令小学班主任十分头疼的一件事情.不过,班主任小雪发现了一些有趣的现象,当同学们的座次确定下来之后,只有有限的D对同学上课时会交头接耳.同学们在教室中坐成了M行N列,坐在第i行第j列的同学的位置是(i,j),为了方便同学们进出,在教室中设置了K条横向的通道,L条纵向的通道.于是,聪明的小雪想到了一个办法,或许可以减少上课时学生交头接耳的问题:她打算重新摆放桌椅,改变同学们桌椅间通道的位置,因为如果一条通道隔开了两个会交头接耳的同学,那么

noip2008普及组3题题解-rLq

(第一次写题解,随意喷) (只是前一天的作业哈) (先凑个数) 题目描述 上体育课的时候,小蛮的老师经常带着同学们一起做游戏.这次,老师带着同学们一起做传球游戏.游戏规则是这样的:n个同学站成一个圆圈,其中的一个同学手里拿着一个球,当老师吹哨子时开始传球,每个同学可以把球传给自己左右的两个同学中的一个(左右任意),当老师在此吹哨子时,传球停止,此时,拿着球没有传出去的那个同学就是败者,要给大家表演一个节目.聪明的小蛮提出一个有趣的问题:有多少种不同的传球方法可以使得从小蛮手里开始传的球,传了m次