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

2022 icpc杭州站 C. No Bug No Game - 背包dp

题面

分析

能拿整个 p i p_i pi的就拿整个的,不能拿了可以拿一部分的,因此可以分成0和1两种情况,0表示拿整个的,1表示还可以拿部分的,两种情况放在一起做一遍01背包,找到最大价值。

代码
#include <bits/stdc++.h>#define int long longusing namespace std;const int N = 3010;int dp[N][N][2];
int w[N][20];
int p[N];signed main() {ios::sync_with_stdio(false);cin.tie(nullptr);int n, m;cin >> n >> m;int sum = 0;for(int i = 1; i <= n; i ++) {cin >> p[i];sum += p[i];for(int j = 1; j <= p[i]; j ++) cin >> w[i][j];}if(sum <= m) {int ans = 0;for(int i = 1; i <= n; i ++) ans += w[i][p[i]];cout << ans << "\n";return 0;}memset(dp, -0x3f, sizeof dp);dp[0][0][0] = 0;for(int i = 1; i <= n; i ++) {for(int j = 0; j <= m; j ++) {dp[i][j][0] = dp[i - 1][j][0];dp[i][j][1] = dp[i - 1][j][1];if(j >= p[i]) {dp[i][j][0] = max(dp[i][j][0], dp[i - 1][j - p[i]][0] + w[i][p[i]]);dp[i][j][1] = max(dp[i][j][1], dp[i - 1][j - p[i]][1] + w[i][p[i]]);}for(int k = 1; k < p[i]; k ++) {if(j >= k) dp[i][j][1] = max(dp[i][j][1], dp[i - 1][j - k][0] + w[i][k]);}}}cout << max(dp[n][m][0], dp[n][m][1]) << "\n";
}
http://www.lryc.cn/news/221143.html

相关文章:

  • Temp directory ‘C:\WINDOWS\TEMP‘ does not exist
  • 【单片机基础小知识-如何通过指针来读写寄存器】
  • CountDownTimer倒计时使用
  • MySQL索引事务存储引擎
  • 【服务器使用】vscode winscp进行服务器容器连接(含修改初始密码)
  • Go和JavaScript结合使用:抓取网页中的图像链接
  • 通信协议---串口、RS232、RS485
  • UE5 c++将自定义UserWdiget添加到对应菜单栏
  • 三级缓存【又称提前暴露(early exposure)】
  • 【ARM Coresight 系列文章 3.5 - ARM Coresight -- JTAG-DP(JTAG Debug Port) 详细介绍】
  • 【笔记】回顾JavaWeb结合自身开发的项目——分层解耦与IOC、MySQL简单查询
  • Modelsim 使用教程(5)——Analyzing Waveforms
  • String-固长字符串序列
  • RABC权限模型与Spring Security
  • linux 编译lpthread
  • 工业自动化工厂PLC远程控制网关物联网应用
  • Nginx 实现负载均衡
  • 浅谈测试需求分析
  • 18、Python的编码规范:PEP 8介绍及基本遵循原则
  • AI:48-基于卷积神经网络的气象图像识别
  • AI:64-基于深度学习的口罩佩戴检测
  • Time series analysis of InSAR data: Methods and trends(NASA,2015)
  • 视频集中存储/云存储EasyCVR启动后查询端口是否被占用出错,该如何解决?
  • 【JMeter】后置处理器的分类以及场景介绍
  • 即时通讯技术文集(第22期):IM安全相关文章(Part1) [共13篇]
  • Node Sass version 9.0.0 is incompatible with ^4.0.0.
  • 【STL】:list的模拟实现
  • 第七章 图【数据结构与算法】【精致版】
  • 模型蒸馏学习
  • 总结Kibana DevTools如何操作elasticsearch的常用语句