当前位置: 首页 > news >正文

动态规划(算法竞赛、蓝桥杯)--分组背包DP

1、B站视频链接:E16 背包DP 分组背包_哔哩哔哩_bilibili

fc9bca8c5fcb4a50aed2eebd0756e5a0.png

e9f2feb8d31d43a09292ee855683f11a.png

#include <bits/stdc++.h> 
using namespace std;
const int N=110;
int v[N][N],w[N][N],s[N];
// v[i,j]:第i组第j个物品的体积 s[i]:第i组物品的个数
int f[N][N];
// f[i,j]:前i组物品,能放入容量为j的背包的最大值
int main(){int n,V;cin>>n>>V;for(int i=1;i<=n;i++){cin>>s[i];for(int j=1;j<=s[i];j++){cin>>v[i][j]>>w[i][j];}}for(int i=1;i<=n;i++){for(int j=1;j<=V;j++){for(int k=0;k<=s[i];k++){if(j>=v[i][k]){f[i][j]=max(f[i][j],f[i-1][j-v[i][k]]+w[i][k]);}}}}cout<<f[n][V];return 0;
}

bcf53fb6b877484281de58f3c8f3fb83.png

ef5fcc5bab8a420ba0cc0fddb94529f4.png

#include <bits/stdc++.h> 
using namespace std;
const int N=110;
int f[N],v[N],w[N];int main(){int n,V,s;cin>>n>>V;for(int i=1;i<=n;i++){cin>>s;for(int j=1;j<=s;j++){cin>>v[j]>>w[j];}for(int j=V;j>=1;j--){for(int k=0;k<=s;k++){if(j>=v[k])f[j]=max(f[j],f[j-v[k]]+w[k]);}}}cout<<f[V];return 0;
}

a222415e00b54e71885be6b6db3d0304.png

题目链接:通天之分组背包 - 洛谷

[NOIP2006 提高组] 金明的预算方案 - 洛谷

 

http://www.lryc.cn/news/309242.html

相关文章:

  • 太阳能供电井盖-物联网智能井盖监测系统-旭华智能
  • 贪心 Leetcode 455 分发饼干
  • 策略开发:EMA如何计算
  • 学习Android的第二十天
  • Linux技巧|centos7|重新认识和学习egrep和grep命令
  • css实现背景渐变叠加
  • Unity(第二十四部)UI
  • VSCode通过SSH连接Docker环境进行开发
  • 【QT】QTableView或QTableWidget 搭配QLineEdit实现数据的搜索显示
  • Apache Flink连载(三十五):Flink基于Kubernetes部署(5)-Kubernetes 集群搭建-1
  • 快速幂(c++题解)
  • C#单向链表实现:Append,Move,Delete,InsertAscending, InsertUnAscending,Clear
  • python基础-基本数据类型深入-2.1
  • Android LiveData Cannot add the same observer with different lifecycles
  • MongoDB聚合运算符:$cmp
  • 【C++基础知识详细记录】
  • Socket网络编程(五)——TCP数据发送与接收并行
  • 2024最新-ubuntu22.04安装最新版QT6.6~6.8教程
  • STM32------分析GPIO寄存器
  • 数学实验-Matlab使用(1)
  • kafka文件存储机制和消费者
  • 《汇编语言》- 读书笔记 - 第15章-外中断
  • 【Vue3】CSS 新特性
  • 四信水电站泄洪预警方案,精准提升防汛应急水平
  • k8s中容器的调度与创建:CRI,cgroup
  • Unity安装与简单设置
  • 数据库的介绍、分类、作用和特点
  • 【Unity】机器人末端执行器仿真
  • 更换个人开发环境后,pycharm连接服务器报错Authentication failed
  • E - Bad Juice