#1043 : 完全背包
Posted code666
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了#1043 : 完全背包相关的知识,希望对你有一定的参考价值。
与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 : 完全背包的主要内容,如果未能解决你的问题,请参考以下文章