P2967 [USACO09DEC]视频游戏的麻烦Video Game Troubles

冲刺阶段的首篇题解!

题目链接:P2967 [USACO09DEC]视频游戏的麻烦Video Game Troubles

题目概述:

总共N个游戏平台,金额上限V元,给出每个游戏平台的价钱和其上游戏数量;

每个游戏有一个花费及愉悦值,求在花费不超上限的情况下,最大的愉悦值。

(1 <= N <= 50)

(1 <= V <= 100,000)

每个游戏平台价格(1 <= P_i <= 1000)

每个平台游戏数量(1 <= G_i <= 10)

每个游戏价格(1 <= GP_j price <= 100)

游戏带来的愉悦值 (1 <= PV_j <= 1,000,000)

解析:

最开始想到方程为dp[i][j]={dp[i-1][j-x],dp[i-1][j]};

表示第i个平台花j元的最大愉悦值。

由于每次dp[i][j]求解都只会和它前一层也就是dp[i-1]一层有关系,所以很明显,可以采用滚动数组优化。

但是数组是什么含义,需要斟酌一下,我选择去掉表示游戏平台的i,剩下dp[i]表示当前花费为i的最大愉悦值。

但是我们发现,对于第i个平台,要么不取,要么取(废话)。

而每个平台在求解的过程中会干扰前边求过的最优值。

所以就可以分出一个数组用于求当前平台一定取的最优值,而另一个就代表全局的最优值。

code:

#include<bits/stdc++.h>
using namespace std;
const int MAXV =1e6+5;
int n,V,dp[MAXV];//表示价钱为i时的最高产奶量;
int dp2[MAXV];//表示第当前游戏平台一定取并价钱为i时的最高产奶量
int main()
{
    cin>>n>>V;
    for(int i=0;i<=V;i++)dp[i]=0;//表示价钱为i时的最高产奶量
    for(int i=1;i<=n;i++){//处理到第i个游戏平台
        int temp,k;
        cin>>temp>>k;
        for(int c=temp;c<=V;c++)dp2[c]=dp[c-temp];//初始化成第i个平台当前只取了游戏主机的价钱
        for(int j=1;j<=k;j++){
            int p,v;
            cin>>p>>v;
            for(int c=V-p;c>=temp;c--)
                if(dp2[c+p]<dp2[c]+v)dp2[c+p]=dp2[c]+v;
        }
        for(int c=temp;c<=V;c++)
            if(dp[c]<dp2[c])dp[c]=dp2[c];
    }
    cout<<dp[V];
    return 0;
}

加油!

原文地址:https://www.cnblogs.com/Xxzxx/p/11336946.html

时间: 2024-08-30 18:11:13

P2967 [USACO09DEC]视频游戏的麻烦Video Game Troubles的相关文章

P3041 [USACO12JAN]视频游戏的连击Video Game Combos

P3041 [USACO12JAN]视频游戏的连击Video Game Combos https://www.luogu.org/problemnew/show/P3041 分析: AC自动机. 建立AC自动机,然后dp[i][j]表示经过了i个字符,到达自动机上j这个位置,的得分. 那么dp[i-1][j] + val[ch[j][k]] -> dp[i][ch[j][k]]. 表示从j点,往前走一步,加上新加一个字符产生的贡献. 代码: 1 #include<bits/stdc++.h&g

[USACO12JAN]视频游戏的连击Video Game Combos(AC自动机+DP)

Description 贝西正在打格斗游戏.游戏里只有三个按键,分别是“A”.“B”和“C”.游戏中有 N 种连击 模式,第 i 种连击模式以字符串 Si 表示,只要贝西的按键中出现了这个字符串,就算触发了一次连 击模式.不 同的连击模式是独立计算的,如果几个连击模式同时出现在贝西的按键顺序里,就算有重 叠部分, 也可以同时算作触发了多个模式. 假如有三个连击模式,分别是“AB”,“BA”,“ABC”,而贝西按下了“ABABC”,那么她一共 触发了四次 连击.假设贝西一共可以按 K 次键,那么她

可以创建专业的客户端/服务器视频会议应用程序的音频和视频控件LEADTOOLS Video Conferencing SDK

LEADTOOLS Video Streaming Module控件为您创建一个自定义的视频会议应用程序和工具提供所有需要的功能.软件开发人员可以使用Video Streaming Module SDK,通过一些不同的配置来创建一些客户端/服务器应用程序.例如,如果有一个服务器需要向多个客户端发送音频/视频数据,那么就可以在服务器上创建这样的应用程序,比如多点传送或Web广播中的web多点传播.此外,当有多个捕捉点向一个源发送视频数据时,您可以创建安全/监控应用程序. 产品特征: 视频会议二进制

html5 音频和视频(audio And video)

1.音频和视频  Web 上的视频 直到现在,仍然不存在一项旨在网页上显示视频的标准. 今天,大多数视频是通过插件(比如 Flash)来显示的.然而,并非所有浏览器都拥有同样的插件. HTML5 规定了一种通过 video 元素来包含视频的标准方法. 视频格式 当前,video 元素支持三种视频格式: 格式    IE Firefox Opera Chrome Safari Ogg     No 3.5+ 10.5+  5.0+ No MPEG4 9.0+  No           No 5.

音视频SDK在网络视频游戏中的应用

随着网游市场是越来越激烈,游戏类型和平台众多,一个优秀的网游可以衍生出电影.图书.卡通等一系列产品,什么样的道具能让全球玩家心甘情愿掏腰包呢网游的开发费用迅猛增长的趋势正成为令开发商头疼的首要问题.能像<魔兽世界>那样大卖特卖的网游越来越少. 现阶段网络游戏在内容已上明显出现情节雷同与操作模仿的倾向,但随着玩家对游戏产品和用户体验的要求不断提高,用户黏性越来越受到挑战.在原有的一些成功的玩法之上,进行有限度的创新.创新不只是内容的创新,针对不同的区域设计出同一款游戏的不同玩法,对玩家来说吸引力

河南稳定大带宽节点专业视频游戏加速的运营商

机房位置: 河南多地市机房 联通万兆 10w/G/年 3-4G保底 95取值 机柜4w/年 电信万兆 12w/G/年 3-4G保底 95取值 机柜4w/年 河南大带宽优质便宜联系方式 联系人:梁永辉 ┏━━━━━━━━━━━━━━━━━━━━┓联系人:梁永辉QQ:177679885 Tel:15617401569 地址:河南省郑州市花园路居易摩根中心2506┗━━━━━━━━━━━━━━━━━━━━┛ 适用群体:视频,直播,企业,站长,下载,门户站,论坛应用等 带宽统计单位是比特/秒(bps),

搭建服务器之www-向外提供视频服务by html5 video标签

搭建好www服务器,主要目的有两个一个是试验下,另一个是想给女朋友个惊喜,给她个带视频的网页,嘿嘿当前测试下相应功能. 1,采用html5的视频功能:bideo标签. 源码如下: <!doctype html> <html> <head> <meta charset="UTF-8"> <title>video with control</title> </head> <body> i lov

全景VR视频游戏外包公司:技术分享使用U3D+CB制作VR游戏

随着Oculus宣布1月6日开启预售,2016年很可能成为VR游戏元年,但很多的调研显示,手游设备才是市场增长的关键,SuperData发布的报告显示,2016年全球VR游戏市场规模预计在51亿美元左右,消费者设备安装量在3890万左右,凭借价格门槛的优势,以谷歌Cardboard和三星Gear VR为代表的移动VR设备很大可能成为用户量最大的设备,可能占据2016年虚拟现实设备安装量71%的份额,达到2700万. 我们的老朋友Ray在自己的博客中展示了如何用Unity和Cardboard把一款

R语言数据清理:视频游戏数据案例研究

Wesnoth之战是一款开源的回合制策略游戏.游戏世界很丰富,有几个派系,地图和数百个可用单位.在本教程中,您将学习如何将中等大小的数据集(如游戏元数据)转换为有用的格式,以便使用R进行进一步分析. 您将了解整洁数据集遵循的关键原则,为什么跟踪它们有用,以及如何清理您给出的数据.整理也是了解新数据集的好方法. 最后,在本教程中,您将学习如何编写一个函数,使您的分析看起来更清晰,并允许您以非常可重复的方式在分析中执行重复元素.该功能允许您将最新版本的数据动态加载到灵活的数据方案中,这意味着在添加新