[USACO 2009 Dec G]Video Game Troubles-----分组背包的改良版
这题是分组背包的改良版,如果还按分组背包的思路枚举每组物品状态会TLE
因此需要换一种思考方式
类似于状态机模型
状态表示
f[i]
表示前i-1
里任意选,但是选第i
个物品的最大价值
g[i]
表示前i个物品里边任意选的最大价值
每次弄人f[i]
里边放了第i
个物品,把物品的分组跑一边01背包
然后用来更新g[i]
这里的f[i]起到工具人的作用
状态转移方程:
f[j]=max(f[j],f[j-v]+w)
g[j]=max(g[j],f[j-price])
#include<iostream>
#include<cstring>
#include<algorithm>
#include<cmath>
#include<vector>
using namespace std;
const int N=100010;
int f[N],g[N];
int main()
{int n,m;cin>>n>>m;for(int i=1;i<=n;i++){int price,cnt;cin>>price>>cnt;memcpy(f,g,sizeof g);while(cnt--){int v,w;cin>>v>>w;for(int j=m;j>=v;j--)f[j]=max(f[j],f[j-v]+w);}for(int j=m;j>=price;j--)g[j]=max(g[j],f[j-price]);}cout<<g[m]<<endl;
}
[USACO 2009 Dec G]Video Game Troubles-----分组背包的改良版相关推荐
- F. [usaco 2009 dec]游荡的奶牛 总结
F. [usaco 2009 dec]游荡的奶牛 总结 题目 F. [usaco 2009 dec]游荡的奶牛 时间限制:1s 空间限制:256MB 输入文件:sgraze-in 输出文件:sgraz ...
- [USACO 2009 Dec S]Music Notes
题目: [USACO 2009 Dec S]Music Notes ,哈哈,我们今天来看一道有二分思想的题嘛,这是选自USACO上的一道题,好了,我们一起来看看题意吧: 题目描述是复制的,可能有部分显 ...
- 【洛谷P2967】【USACO 2009 Dec】电子游戏 Video Game Troubles
问题描述 约翰的奶牛们玩游戏成瘾!本来约翰是想把她们拖去电击治疗的,后来他发现奶牛们在生产了更多的牛奶,也就开始支持她们了. 但是,奶牛在选择游戏平台上的分歧很大:有的奶牛想买一台 Xbox 360来 ...
- USACO 2009 Dec cow toll paths 过路费-floyd
这道题首先要明确一点,那就是当你从一个点走到自己时,也是需要花费这个点点权值的费用.这个点卡了我两次QWQ 然后我比较喜欢分两步搞: 首先,我们利用floyd的一个性质:就是在更新其他点之间的路线时要 ...
- [usaco 2009 dec]游荡的奶牛
游荡的奶牛 题目描述 FJ 有 N (1 <= N <= 50,000)头牛,FJ的草地可以认为是一条直线. 每只牛只喜欢在某个特定的范围内吃草.第i头牛喜欢在区间(S_i, E_i)吃草 ...
- USACO翻译:USACO 2014 DEC Silver三题
USACO 2014 DEC SILVER 一.题目概览 中文题目名称 回程 马拉松 奶牛慢跑 英文题目名称 piggyback marathon cowjog 可执行文件名 piggyback ma ...
- 动态规划dp(带模板题の超易懂版):01背包,完全背包,分组背包,多重背包,混合背包
动态规划dp(带模板题の超易懂版):01背包,完全背包,分组背包,多重背包 01背包 && 完全背包 && 分组背包 の 视频教程:https://www.bilibi ...
- 洛谷P1169 树上分组背包
题解 第一次写树上分组背包的题目. 什么是分组背包? 分组背包就是将物品进行分组每组内部只能选择一类物品. for(int i = 1;i <= N;++i){for(int j = 0;j & ...
- NOIP 2006 金明的预算方案 (裸?)分组背包
或许还有其他方式,不过我就是按分组背包写的,几近裸题. 我也是纳闷,前两天刚刚做过一道分组背包的题,理解了分组背包的正确打开方式,今天却差点没想出来.真是...该去睡一会. 对于每个物品以及它的附件, ...
最新文章
- OCS2007R2部署之一软硬件环境准备
- div+css内容需注意
- unicode环境下用CFile读取txt的若干疑惑,该如何处理
- vuejs及相关工具介绍
- 神策数据周文君:杜蕾斯、滴露都在用的品牌数据营销三步法
- USTC English Club Note20171015(5)
- OpenCV离散傅立叶变换DFT的实例(附完整代码)
- [JavaWeb-Servlet]Servlet相关配置
- ASP.NET AJAX 学习笔记
- c语言调用aida64温度,关于aida64软件cpu温度的问题
- 如何在Nature杂志上发表文章
- 设置Cookie的生命周期
- 【回答问题】ChatGPT上线了!给我推荐20个比较流行的自动驾驶算法模型
- mysql 餐饮管理系统_Java Mysql 餐饮管理系统 过程心得记录
- win10 64位注册TeeChart8.ocx
- 解决Windows XP 系统下,用户登录一直循环提示激活
- 开源BBS论坛软件推荐
- 使用OpenCV实现Halcon算法(1)亚像素提取边缘,Sub-Pixel Edge Detector
- jieba分词使用方法
- Linux服务器系统有哪些?
热门文章
- 阿里云服务器购买与配置(4)安装nginx
- index.tsx:19 Uncaught Error: A <Route> is only ever to be used as the child of <Routes> element, nev
- linux ssh motd 颜色,ubuntu ssh登录的时候motd被打印了两次
- gabor filters matlab,matlab实现gabor filter (1)
- 使用 Amazon WAF 进行 Captcha 人机验证
- /var/tmp/rpm-tmp. 安装失败时找不到tmp文件的应对方法
- 渲图买桌面CPU还是服务器cpu,做图用什么显卡好,图形渲染CPU重要还是显卡重要...
- 域控可以改计算机用户名,如何修改ActiveDirectory域控制器计算机名称
- 利用random解决三色球问题
- 用摄像管替换电视机电路里的显现管的摄像机