EOJ(动态规划)——1052. 0-1背包问题

单测试点时限: 2.0 秒

内存限制: 256 MB

已知 n 个物体 1,2,3,…,n 与一个背包。物体 i 的重量为 Wi>0,价值为 Pi>0 (i=1,2,…,n),背包容量为 M>0。

求在不超过背包容量的情况下,使得装进去的物体的价值最高。

输入
第一行为一个正整数 T,表示有几组测试数据。

每组测试数据的第一行为两个整数 n 和 M,0<n≤20,0<M<100000。

再下去的 n 行每行有两个整数 Wi,Pi,0<Wi,Pi<10000。

输出
对于每组测试数据,输出一行,只含一个整数,表示装进去物体的价值最高值。

样例
input
1
5 10
2 6
2 3
6 5
5 4
4 6
output
15

题目大意:

01背包。

题目解析:

第二次遇到01背包问题,这次算是完全弄明白了。
01背包核心代码:

		for(int i=1;i<=n;i++){
   
			for(int j=1;j<=M;j++){
   
				if(j<weight[i])
					dp[i][j]
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值