[Luogu2967] 视频游戏的麻烦Video Game Troubles
农夫约翰的奶牛们游戏成瘾!本来约翰是想要按照调教兽的做法拿她们去电击戒瘾的,可是 后来他发现奶牛们玩游戏之后比原先产更多的奶.很明显,这是因为满足的牛会产更多的奶.
但是,奶牛们在哪个才是最好的游戏平台这个问题上产生了巨大的分歧.约翰想要在给定的 预算内购入一些游戏平台和一些游戏,使他的奶牛们生产最多的奶牛以养育最多的孩子.
约翰研究了N种游戏平台,每一种游戏平台的价格是Pi 并且每一种游戏平台有Gi个只能在这种平台上运行的游戏.很明显,奶牛必须 先买进一种游戏平台,才能买进在这种游戏平台上运行的游戏.每一个游戏有一个游戏的价 格GPi并且有一个产出值PVj< 1000000),表示一只牛在玩这个游戏之后会产出多少牛奶.最后,农夫约翰的预算为V<100000),即他最多可以花费的金钱.请 帮助他确定应该买什么游戏平台和游戏,使得他能够获得的产出值的和最大.
输入输出格式
输入格式:
* Line 1: Two space-separated integers: N and V
* Lines 2..N+1: Line i+1 describes the price of and the games
available for console i; it contains: P_i, G_i, and G_i pairs of space-separated integers GP_j, PV_j
输出格式:
* Line 1: The maximum production value that Farmer John can get with his budget.
输入输出样例
3 800
300 2 30 50 25 80
600 1 50 130
400 3 40 70 30 40 35 60
210
第一次做这样的DP?(雾)
设f[i][j]表示考虑完前i个平台,花j元钱的最大收益。
然后每次强制选了第i个平台,然后对这个平台的物品进行一次o1背包,求出必须选第i个平台时花j元钱的最大收益。
然后再每次与上一次的DP结果比较一下,看看是否在花了j元钱的时候,选择第i个平台更优...
(雾)长见识了,DP还能这么玩。
#include <iostream>
#include <cstdio>
#include <algorithm>
#include <cstring>
#include <bitset>
#include <algorithm>
using namespace std;
#define reg register
#define gc getchar
inline int read() {
int res=;char ch=gc();bool fu=;
while(!isdigit(ch)){if(ch=='-')fu=;ch=gc();}
while(isdigit(ch))res=(res<<)+(res<<)+(ch^), ch=gc();
return fu?-res:res;
} int n, m;
int f[][]; int main()
{
n = read(), m = read();
for (reg int i = ; i <= n ; i ++)
{
int p = read(), g = read();
for (reg int j = p ; j <= m ; j ++) f[i][j] = f[i - ][j - p];
for (reg int k = ; k <= g ; k ++)
{
int cost = read(), val = read();
for (reg int j = m ; j >= cost + p ; j --) f[i][j] = max(f[i][j], f[i][j - cost] + val);
}
for (reg int j = ; j <= m ; j ++) f[i][j] = max(f[i][j], f[i - ][j]);
}
cout << f[n][m] << endl;
return ;
}
[Luogu2967] 视频游戏的麻烦Video Game Troubles的更多相关文章
- P2967 [USACO09DEC]视频游戏的麻烦Video Game Troubles
冲刺阶段的首篇题解! 题目链接:P2967 [USACO09DEC]视频游戏的麻烦Video Game Troubles: 题目概述: 总共N个游戏平台,金额上限V元,给出每个游戏平台的价钱和其上游戏 ...
- [USACO09DEC]视频游戏的麻烦Video Game Troubles(DP)
https://www.luogu.org/problem/P2967 https://ac.nowcoder.com/acm/contest/1077/B 题目描述 Farmer John's co ...
- LG_2967_[USACO09DEC]视频游戏的麻烦Video Game Troubles
题目描述 Farmer John's cows love their video games! FJ noticed that after playing these games that his c ...
- <USACO09DEC>视频游戏的麻烦Video Game Troublesの思路
emm今天模拟赛的题.神奇地A了 #include<cstdio> #include<cstring> #include<iostream> #include< ...
- 【USACO12JAN】视频游戏的连击Video Game Combos
题目描述 Bessie is playing a video game! In the game, the three letters 'A', 'B', and 'C' are the only v ...
- [洛谷3041]视频游戏的连击Video Game Combos
题目描述 Bessie is playing a video game! In the game, the three letters 'A', 'B', and 'C' are the only v ...
- [USACO12JAN]视频游戏的连击Video Game Combos(AC自动机+DP)
Description 贝西正在打格斗游戏.游戏里只有三个按键,分别是“A”.“B”和“C”.游戏中有 N 种连击 模式,第 i 种连击模式以字符串 Si 表示,只要贝西的按键中出现了这个字符串,就算 ...
- [Luogu3041][USACO12JAN]视频游戏的连击Video Game Combos
题面 sol 设\(f_{i,j}\)表示填了前\(i\)个字母,在\(AC\)自动机上跑到了节点\(j\)的最大得分.因为匹配需要暴跳\(fail\)所以预先把\(fail\)指针上面的匹配数传下来 ...
- 洛谷P3041 视频游戏的连击Video Game Combos [USACO12JAN] AC自动机+dp
正解:AC自动机+dp 解题报告: 传送门! 算是个比较套路的AC自动机+dp趴,,, 显然就普普通通地设状态,普普通通地转移,大概就f[i][j]:长度为i匹配到j 唯一注意的是,要加上所有子串的贡 ...
随机推荐
- Winform中实现ZedGraph中曲线右键显示为中文
场景 Winforn中设置ZedGraph曲线图的属性.坐标轴属性.刻度属性: https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/10 ...
- charles 外部代理设置
本文参考:charles 外部代理设置 external proxy 外部代理设置 有时候您可能需要使用网络上的代理服务器才能访问Internet. 在这种情况下,您需要为Charles配置外部代理. ...
- ES6中的迭代器、Generator函数以及Generator函数的异步操作
最近在写RN相关的东西,其中涉及到了redux-saga ,saga的实现原理就是ES6中的Generator函数,而Generator函数又和迭代器有着密不可分的关系.所以本篇博客先学习总结了ite ...
- mysql安装和配置环境
第一步:打开网址,https://www.mysql.com,点击downloads之后跳转到https://www.mysql.com/downloads 第二步 :跳转至网址https://dev ...
- (七十二)c#Winform自定义控件-雷达图
前提 入行已经7,8年了,一直想做一套漂亮点的自定义控件,于是就有了本系列文章. GitHub:https://github.com/kwwwvagaa/NetWinformControl 码云:ht ...
- 【linux】【gitlab】gitlab安装、备份、恢复、升级、内存消耗问题
前言 GitLab:GitLab 是一个用于仓库管理系统的开源项目,使用Git作为代码管理工具,并在此基础上搭建起来的web服务.功能:Gitlab 是一个提供代码托管.提交审核和问题跟踪的代码管理平 ...
- 代码审计之XSS及修复
xss在平时的测试中,还是比较重要的,如果存在储存型xss,就可以做很多事情了,打cookie,添加管理员等等很多操作. 以下所有代码都是我自己写的,可能有不美观,代码错误等等问题,希望大家可以指正. ...
- Excel VBA入门(十)用户窗体开发
VBA 中的用户窗体就是指带 UI 的用户界面,在运行的时候会单独弹出一个窗口,类似于在 windows 系统中运行的一个可执行程序一样(这个说法不太严谨,因为可执行程序也可能是只有命令窗口而没有 U ...
- MongoDB 学习笔记之 mongo-connector安装
mongo-connector安装: https://github.com/mongodb-labs/mongo-connector 1. yum -y install openssl* 2.编译安装 ...
- ElasticSearch Cardinality Aggregation聚合计算的误差
使用ES不久,今天发现生产环境数据异常,其使用的ES版本是2.1.2,其它版本也类似.通过使用ES的HTTP API进行查询,发现得到的数据跟javaClient API 查询得到的数据不一致,于是对 ...