这题是分组背包的改良版,如果还按分组背包的思路枚举每组物品状态会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-----分组背包的改良版相关推荐

  1. F. [usaco 2009 dec]游荡的奶牛 总结

    F. [usaco 2009 dec]游荡的奶牛 总结 题目 F. [usaco 2009 dec]游荡的奶牛 时间限制:1s 空间限制:256MB 输入文件:sgraze-in 输出文件:sgraz ...

  2. [USACO 2009 Dec S]Music Notes

    题目: [USACO 2009 Dec S]Music Notes ,哈哈,我们今天来看一道有二分思想的题嘛,这是选自USACO上的一道题,好了,我们一起来看看题意吧: 题目描述是复制的,可能有部分显 ...

  3. 【洛谷P2967】【USACO 2009 Dec】电子游戏 Video Game Troubles

    问题描述 约翰的奶牛们玩游戏成瘾!本来约翰是想把她们拖去电击治疗的,后来他发现奶牛们在生产了更多的牛奶,也就开始支持她们了. 但是,奶牛在选择游戏平台上的分歧很大:有的奶牛想买一台 Xbox 360来 ...

  4. USACO 2009 Dec cow toll paths 过路费-floyd

    这道题首先要明确一点,那就是当你从一个点走到自己时,也是需要花费这个点点权值的费用.这个点卡了我两次QWQ 然后我比较喜欢分两步搞: 首先,我们利用floyd的一个性质:就是在更新其他点之间的路线时要 ...

  5. [usaco 2009 dec]游荡的奶牛

    游荡的奶牛 题目描述 FJ 有 N (1 <= N <= 50,000)头牛,FJ的草地可以认为是一条直线. 每只牛只喜欢在某个特定的范围内吃草.第i头牛喜欢在区间(S_i, E_i)吃草 ...

  6. USACO翻译:USACO 2014 DEC Silver三题

    USACO 2014 DEC SILVER 一.题目概览 中文题目名称 回程 马拉松 奶牛慢跑 英文题目名称 piggyback marathon cowjog 可执行文件名 piggyback ma ...

  7. 动态规划dp(带模板题の超易懂版):01背包,完全背包,分组背包,多重背包,混合背包

    动态规划dp(带模板题の超易懂版):01背包,完全背包,分组背包,多重背包 01背包 && 完全背包 && 分组背包 の 视频教程:https://www.bilibi ...

  8. 洛谷P1169 树上分组背包

    题解 第一次写树上分组背包的题目. 什么是分组背包? 分组背包就是将物品进行分组每组内部只能选择一类物品. for(int i = 1;i <= N;++i){for(int j = 0;j & ...

  9. NOIP 2006 金明的预算方案 (裸?)分组背包

    或许还有其他方式,不过我就是按分组背包写的,几近裸题. 我也是纳闷,前两天刚刚做过一道分组背包的题,理解了分组背包的正确打开方式,今天却差点没想出来.真是...该去睡一会. 对于每个物品以及它的附件, ...

最新文章

  1. OCS2007R2部署之一软硬件环境准备
  2. div+css内容需注意
  3. unicode环境下用CFile读取txt的若干疑惑,该如何处理
  4. vuejs及相关工具介绍
  5. 神策数据周文君:杜蕾斯、滴露都在用的品牌数据营销三步法
  6. USTC English Club Note20171015(5)
  7. OpenCV离散傅立叶变换DFT的实例(附完整代码)
  8. [JavaWeb-Servlet]Servlet相关配置
  9. ASP.NET AJAX 学习笔记
  10. c语言调用aida64温度,关于aida64软件cpu温度的问题
  11. 如何在Nature杂志上发表文章
  12. 设置Cookie的生命周期
  13. 【回答问题】ChatGPT上线了!给我推荐20个比较流行的自动驾驶算法模型
  14. mysql 餐饮管理系统_Java Mysql 餐饮管理系统 过程心得记录
  15. win10 64位注册TeeChart8.ocx
  16. 解决Windows XP 系统下,用户登录一直循环提示激活
  17. 开源BBS论坛软件推荐
  18. 使用OpenCV实现Halcon算法(1)亚像素提取边缘,Sub-Pixel Edge Detector
  19. jieba分词使用方法
  20. Linux服务器系统有哪些?

热门文章

  1. 阿里云服务器购买与配置(4)安装nginx
  2. index.tsx:19 Uncaught Error: A <Route> is only ever to be used as the child of <Routes> element, nev
  3. linux ssh motd 颜色,ubuntu ssh登录的时候motd被打印了两次
  4. gabor filters matlab,matlab实现gabor filter (1)
  5. 使用 Amazon WAF 进行 Captcha 人机验证
  6. /var/tmp/rpm-tmp. 安装失败时找不到tmp文件的应对方法
  7. 渲图买桌面CPU还是服务器cpu,做图用什么显卡好,图形渲染CPU重要还是显卡重要...
  8. 域控可以改计算机用户名,如何修改ActiveDirectory域控制器计算机名称
  9. 利用random解决三色球问题
  10. 用摄像管替换电视机电路里的显现管的摄像机