#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 : 完全背包的主要内容,如果未能解决你的问题,请参考以下文章

[M背包] lc279. 完全平方数(完全背包)

nyoj 311-完全背包 (动态规划, 完全背包)

动态规划第五篇:01背包问题和完全背包问题

动态规划第五篇:01背包问题和完全背包问题

完全背包

01背包和完全背包问题