Dreams
01-package
http://info.zjfc.edu.cn/acm/contest/contest_problemDetail.aspx?pid=1005&cid=32
题目描述:
给定一个背包的容量k,给定n个物品的体积和价值,物品不可分割,将n个物品中选若干个物品放入背包,求背包内物品的最大价值总和,在价值总和最大的前提下求背包内的最小物品个数c。
输出描述:
第一行是一个整数t,表示测试数据的组数t。
对于每组测试数据,第一行是两个整数n和k,表示物品的个数和背包的容量;
接下来n行,每行两个整数,分别是物品的价值和体积。
输出描述:
输出背包内物品的最大价值v,在价值最大的前提下求背包内的最小物品个数c,中间用一个空格隔开。
样例输入:
1
3 10
4 5
6 5
10 10
样例输出:
10 1
作者:
xiewenxiu
//
16829 2009-05-08 19:58:40 1005 Accepted 765MS 464K Visual C++ liyunsong
#include
<
iostream
>
using
namespace
std;
struct
Node
{
int
ns;
//
最小物品数
int
vs;
//
最大价值
}
dp[
2001
];
int
main()
{
int
t;
cin
>>
t;
while
(t
--
)
{
int
v[
2001
],w[
2001
];
int
n,c;
int
i,j;
cin
>>
n
>>
c;
for
(i
=
1
;i
<=
n;i
++
)
scanf(
"
%d%d
"
,
&
v[i],
&
w[i]);
for
(j
=
0
; j
<
w[
1
];j
++
)
{
dp[j].vs
=
0
;
dp[j].ns
=
0
;
}
for
(; j
<=
c;j
++
)
{
dp[j].vs
=
v[
1
];
dp[j].ns
=
1
;
}
for
(i
=
2
;i
<=
n;i
++
)
{
for
(j
=
c;j
>=
w[i];j
--
)
{
if
(dp[j].vs
<
dp[j
-
w[i]].vs
+
v[i])
{
dp[j].vs
=
dp[j
-
w[i]].vs
+
v[i];
dp[j].ns
=
dp[j
-
w[i]].ns
+
1
;
}
else
if
(dp[j].vs
==
dp[j
-
w[i]].vs
+
v[i]
&&
dp[j].ns
>
dp[j
-
w[i]].ns
+
1
)
dp[j].ns
=
dp[j
-
w[i]].ns
+
1
;
}
}
cout
<<
dp[c].vs
<<
"
"
<<
dp[c].ns
<<
endl;
}
return
0
;
}
发表于 2009-05-08 21:48
DreamSky
阅读(533)
评论(0)
编辑
收藏
引用
所属分类:
DP
只有注册用户
登录
后才能发表评论。
【推荐】100%开源!大型工业跨平台软件C++源码提供,建模,组态!
相关文章:
hdu 2372 El Dorado
01-package
zju 1883 Tight Words
zju 3201 Tree of Tree
zju 2852 Deck of Cards
hdu 2191 悼念512汶川大地震遇难同胞——珍惜现在,感恩生活
hdu 2765 Recursively Palindromic Partitions
vijos 1313 金明的预算方案
vijos 1133 装箱问题
vijos 1317 开心的金明
网站导航:
博客园
IT新闻
BlogJava
博问
Chat2DB
管理
<
2009年5月
>
日
一
二
三
四
五
六
26
27
28
29
30
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
1
2
3
4
5
6
公告
导航
C++博客
首页
发新随笔
发新文章
联系
聚合
管理
统计
随笔: 84
文章: 7
评论: 49
引用: 0
常用链接
我的随笔
我的评论
我参与的随笔
留言簿
(6)
给我留言
查看公开留言
查看私人留言
随笔分类
asp相关(3)
(rss)
BFS(8)
(rss)
DFS(7)
(rss)
DP(27)
(rss)
greedy(9)
(rss)
LG(4)
(rss)
Math(7)
(rss)
Others(6)
(rss)
并查集(4)
(rss)
母函数(7)
(rss)
线段树
(rss)
字典树(4)
(rss)
随笔档案
2009年8月 (3)
2009年5月 (17)
2009年4月 (60)
2009年3月 (4)
文章分类
创作(1)
(rss)
随感(5)
(rss)
文学(1)
(rss)
文章档案
2010年12月 (1)
2010年8月 (1)
2009年8月 (1)
2009年5月 (1)
2009年4月 (3)
相册
乌镇
原野天地
百事百通
analogy_翻译_爱词霸在线词典
bia菜
CSS学习资料
DB
Feng
Happy峰
Wpl
Xredman
百度
北大ACM
福建师范大学ACM
谷歌
果树伯伯
杭电ACM
湖州师范学院主页
精品笑话
绿色软件
史艳婷
霜天晓角
天津大学ACM
厦门大学ACM
信息学竞赛
这是什么
浙大ACM
浙江工商大学ACM
浙江工业大学ACM
浙江林学院ACM
搜索
积分与排名
积分 - 46385
排名 - 474
最新评论
1. re: hdu 1074 Doing Homework
评论内容较长,点击标题查看
--guo
阅读排行榜
1. hdu 1171 Big Event in HDU(1766)
评论排行榜
1. hdu 1171 Big Event in HDU(9)