2018.07.08【2018提高组】模拟C组:电视游戏问题

问题描述:

农夫约翰的奶牛们游戏成瘾!本来FJ是想要按照陶叫兽的做法拿她们去电击戒瘾的,可是后来他发现奶牛们玩游戏之后比原先产更多的奶。很明显,这是因为满足的牛会产更多的奶。
但是,奶牛们在哪个才是最好的游戏平台这个问题上产生了巨大的分歧。一只奶牛想要买一台Xbox 360来跑《光晕3》;另外一只奶牛想要一台任天堂Wii来跑《任天堂明星大乱斗X》;第三只奶牛想要在PlayStation 3上面玩《潜龙谍影4》,顺便还能看某些高画质的日本电影。
FJ想要在给定的预算内购入一些游戏平台和一些游戏,使他的奶牛们生产最多的奶牛以养育最多的孩子。
FJ研究了N(1 <= N <= 50)种游戏平台,每一种游戏平台的价格是P_i(1 <= P_i <= 1000),并且每一种游戏平台有G_i(1 <= G_i <= 10)个只能在这种平台上运行的游戏。很明显,奶牛必须先买进一种游戏平台,才能买进在这种游戏平台上运行的游戏。每一个游戏有一个游戏的价格GP_j(1 <= GP_j 价格 <= 100)并且有一个产出值PV_j(1 <= PV_j<= 1000000),表示一只牛在玩这个游戏之后会产出多少牛奶。
最后,农夫约翰的预算为V(1 <= V <= 100000),即他最多可以花费的金钱。请帮助他确定应该买什么游戏平台和游戏,使得他能够获得的产出值的和最大。
考虑下面的数据,有N种游戏平台,并且有V=800预算。第一种游戏平台花费800预算。第一种游戏平台花费800预算。第一种游戏平台花费300并且有两个游戏,价格分别为30和30和30和25,它们的产出值如下所示:
游戏 # 花费 产出值
1 305023050230 50 2 25 80
第二种平台价格为$600,并且只有一种游戏:

游戏 # 花费 产出值
1 50130第三种平台价格为50130第三种平台价格为50 130 第三种平台价格为400,并且有三种游戏:

游戏 # 花费 产出值
1 407024070240 70 2 30 40
3 $35 60
农夫约翰应该买第1和第3种平台,并且买平台1的游戏2,还有平台3的游戏1和游戏3。使得
最后他最后的产出值最大,为210:

产出值
预算: 800平台1−800平台1−800 平台 1 -300
游戏 2 -2580平台3−2580平台3−25 80 平台 3 -400
游戏 1 -$40 70

游戏 3 -$35 60

总计: 0 (>= 0) 210

输入输出:

Input
* 第1行: 两个由空格隔开的整数: N和V
* 第2到第N+1行: 第i+1行表示第i种游戏平台的价格和可以在这种游戏平台上面运行的游戏。包含: P_i, G_i还有G_i对由空格隔开的整数GP_j, PV_j

Output
* 第1行: 农夫约翰在预算内可以得到的最大的产出值。

Sample Input
3 800
300 2 30 50 25 80
600 1 50 130
400 3 40 70 30 40 35 60

Sample Output
210

思路:01背包变形

#include<iostream>
#include<cstdio>
#include<algorithm>using namespace std;int f[55][100005];
int i,j,n,w,x,y,qq,pp;int main()
{freopen("vidgame.in","r",stdin);freopen("vidgame.out","w",stdout);scanf("%d%d",&n,&w);for (int i=1;i<=n;++i){scanf("%d%d",&x,&y);for (int j=x;j<=w;++j) f[i][j]=f[i-1][j-x];for (int j=1;j<=y;++j){scanf("%d%d",&qq,&pp);for (int k=w;k>=(qq+x);k--) f[i][k]=max(f[i][k],f[i][k-qq]+pp);}for (int j=0;j<=w;++j)f[i][j]=max(f[i-1][j],f[i][j]);}printf("%d\n",f[n][w]);return 0;
}

纪中暑假培训: Date 3:电视游戏问题相关推荐

  1. 纪中暑假培训 :Date:7 终章-剑之魂

    [NOIP2015模拟10.28B组]终章-剑之魂 (File IO): input:sword.in output:sword.out Time Limits: 1000 ms Memory Lim ...

  2. 纪中在家培训总结(2020.2.1~2020.2.24)

    前言 因为新型冠状病毒(疫情情况)的原因,纪中培训改为在家培训,一天的进度变成了两天甚至三天的进度QAQ,但我还是想说:武汉加油!中国加油! 这次培训总结没啥好写,请勿嘲讽 正文 Day 0(2020 ...

  3. 2019纪中暑假游记+总结

    Travels总篇\texttt{Travels总篇}Travels总篇 7/4\texttt{7/4}7/4 下午才去纪中,早上就一大早和同学出去玩,看了蜘蛛侠然后到3点多才出发. 因为走南沙大桥所 ...

  4. 2019纪中寒假培训

    DayDayDay 111 一大坨堆巨佬AK,身为蒟蒻的我才160,(真实蒟蒻). DayDayDay 222 愉快爆0,但晚上听北大边教授讲课受益匪浅,明确了以后的志向也:懂得了即使爆0了,也要用乐 ...

  5. 2019纪中暑期(9-3=6)天期末考试 总结

    文章目录 写在前面 考试 纪中暑期培训总结 Day 0 Day 1 Day 2 Day 3 Day 4 Day 5 Day 6 Day 7` Day 8` Day 9` 写在前面 看着大爷们都写了总结 ...

  6. 2019年暑假 纪中培训总结

    前言 这次期末考完估计级排80+80+80+.反正语文.数学.英语.历史.政治.地理都感觉考差了. 结果语文.英语.政治.历史.地理.物理都考得跟shi一样 语文做题时漏了两道题,心态很崩.作文和阅读 ...

  7. 2018年暑假 纪中培训总结

    感想 这个暑假在纪中过得挺充实的,劳逸结合,与同学们相处的很开心.算法也讲了很多,但是基本上都没听懂.在这里学习环境还是很不错的,纪中的同学也都很友善,在这里基本没遇到什么烦心事,每天都很开心. 来这 ...

  8. 2019年寒假 纪中培训总结

    前言 一些无关紧要的东西 期末考完第二天就来到纪中.当时也没有什么感觉,已经习惯了吧. 对于接下来151515天左右的生活也不抱着多大的期望和好奇,顺其自然就好了吧. 成绩似乎是来到后第一天晚上出来的 ...

  9. 【2012年中山纪念中学信息学竞赛初一选拔赛一】纪中游戏(d)

    [2012年中山纪念中学信息学竞赛初一选拔赛一]纪中游戏(d) (File IO): input:d.in output:d.out 时间限制: 1000 ms 空间限制: 262144 KB [题目 ...

最新文章

  1. 南方h5手簿使用说明书_雄脱使用非那雄胺米诺地尔效果
  2. neo4j中文社区 php,neo4j 社区版搭建教程
  3. JAVA去掉指定字符
  4. boost::shared_ptr用法测试程序
  5. 判断一棵树是否为平衡二叉树
  6. 2个在Java中将Byte []数组转换为String的示例
  7. fragment 调用activity方法,如dispatchKeyEvent,dispatchTouchEvent
  8. linux进程运行队列,Linux进程调度中队列的使用
  9. 2017 Multi-University Training Contest - Team 7:1011. Kolakoski(模拟)
  10. xp系统支持的python版本_xp系统安装不上python
  11. 欢迎段海华——我们开发者社区中文版的新版主!
  12. 1813 句子相似性 III
  13. it企业实习_it公司实习心得体会
  14. 58到家数据库30条军规解读
  15. php中相关乱码处理
  16. 耐克NIKE验厂的两个方面总结
  17. GTD--时间管理机制
  18. 威尔逊置信区间 php,威尔逊置信区间排序
  19. Python/python出租车计费
  20. axure 8 表格合并_CAD插件表格批量提取1.4安装教程

热门文章

  1. 使用scrapy爬虫框架爬取慕课网全部课程信息
  2. c51语言中数据的存储类型,C51-数据存储类型
  3. html阅读器 怎样卸载,怎样彻底卸载掉金山pdf阅读器?
  4. VAPS XT开发入门教程02:安装配置
  5. AI一分钟 | 无人驾驶技术排名:百度居中游,苹果特斯拉垫底;Google在深圳设立办公室
  6. 获取某一帧、某一秒、某几秒画面
  7. mathcad使用说明
  8. 程序员必看的十部电影
  9. mySQL数据库01
  10. 互联网金融监管细则即将出台 P2P行业格局已定