背包问题(整理)

这篇博客汇总了背包问题的四种类型:01背包、完全背包、多重背包和分组背包,并推荐了yxc的直播回放和CSDN博主良月澪二的详细解析。文中提供了Java实现版本,相关题目可在AcWing题库找到。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在这里推荐一些,关于背包九讲,非常好的视频讲解和相关的博客学习
背包九讲 —— 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.out
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值