在这里推荐一些,关于背包九讲,非常好的视频讲解和相关的博客学习
背包九讲 —— yxc 直播回放 B站 大雪菜
背包九讲 —— 全篇详细理解与代码实现 CSDN 良月澪二,博主提供了很多背包方面的题解。
结合视频和博客的学习,这里提供一些 java 的实现版本,其实就是翻译一下,大佬们的 C++ 程序 。
这些题都可以在 AcWing 题库第一页就能找到,是不是很方便。
这里也只介绍了四类背包问题, 因为其他的类型,本人太菜了,还没学会 ( T—T ) , 后期再慢慢加上。
01背包
import java.util.*;
public class Main{
public static void main(String[] args){
Scanner input = new Scanner(System.in);
while(input.hasNext()){
int N = input.nextInt();
int V = input.nextInt();
int[] dp = new int[V + 1];
for(int i = 1;i <= N;i ++){
int v = input.nextInt();
int w = input.nextInt();
for(int j = V; j >= v;j --)
dp[j] = Math.max(dp[j] , dp[j - v] + w);
}
System