码迷,mamicode.com
首页 > 其他好文 > 详细

#1043 : 完全背包

时间:2017-08-12 17:39:35      阅读:168      评论:0      收藏:0      [点我收藏+]

标签:oid   ati   tin   背包   math   ring   理解   import   print   

与01背包区别是:need[i]可以重复

import java.util.*;
public class Main {
public static void main(String[] args)
{
//用一维数组实现
Scanner sc=new Scanner(System.in);
int n,m;
n=sc.nextInt();
m=sc.nextInt();
int need[] =new int[n];
int val[]=new int[n];
int f[]=new int[m+1];

for(int i=0;i<n;i++)
{
need[i]=sc.nextInt();
val[i]=sc.nextInt();
}
for(int i=0;i<n;i++)
{
// for(int j=m;j>=need[i];j--) 01背包解法
for(int j=need[i];j<=m;j++)
{

f[j]=Math.max(f[j],f[j-need[i]]+val[i]);
}
}
System.out.println(f[m]);
}
}

举这个例子好理解

3 8
4 8
2 5
3 10

#1043 : 完全背包

标签:oid   ati   tin   背包   math   ring   理解   import   print   

原文地址:http://www.cnblogs.com/code666/p/7350861.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!