http://codevs.cn/problem/1052/

题目描述 Description
王钢是一名学习成绩优异的学生,在平时的学习中,他总能利用一切时间认真高效地学习,他不但学习刻苦,而且善于经常总结、完善自己的学习方法,所以他总能在每次考试中得到优异的分数,这一切很大程度上是由于他是一个追求效率的人。

但王钢也是一个喜欢玩的人,平时在学校学习他努力克制自己玩,可在星期天他却会抽一定的时间让自己玩一下,他的爸爸妈妈也比较信任他的学习能力和学习习惯,所以在星期天也不会象其他家长一样对他抓紧,而是允许他在星期天上午可以自由支配时间。

地鼠游戏是一项需要反应速度和敏捷判断力的游戏。游戏开始时,会在地板上一下子冒出很多地鼠来,然后等你用榔头去敲击这些地鼠,每个地鼠被敲击后,将会增加相应的游戏分值。问题是这些地鼠不会傻傻地等你去敲击,它总会在冒出一会时间后又钻到地板下面去(而且再也不上来),每个地鼠冒出后停留的时间可能是不同的,而且每个地鼠被敲击后增加的游戏分值也可能是不同,为了胜出,游戏参与者就必须根据每个地鼠的特性,有选择地尽快敲击一些地鼠,使得总的得分最大。

这个极具挑战性的游戏王钢特别喜欢,最近他经常在星期天上午玩这个游戏,慢慢地他不但敲击速度越来越快(敲击每个地鼠所需要的耗时是1秒),而且他还发现了游戏的一些特征,那就是每次游戏重新开始后,某个地鼠冒出来后停留的时间都是固定的,而且他记录了每个地鼠被敲击后将会增加的分值。于是,他在每次游戏开始后总能有次序地选择敲击不同的地鼠,保证每次得到最大的总分值。

输入描述 Input Description
输入包含3行,第一行包含一个整数n(1<=n<=100)表示有n个地鼠从地上冒出来,第二行n个用空格分隔的整数表示每个地鼠冒出后停留的时间,第三行n个用空格分隔的整数表示每个地鼠被敲击后会增加的分值(<=100)。每行中第i个数都表示第i个地鼠的信息。

输出描述 Output Description
输出只有一行一个整数,表示王钢所能获得的最大游戏总分值。

样例输入 Sample Input
5

5 3 6 1 4

7 9 2 1 5

样例输出 Sample Output
24

芒果君:这是一道用优先队列(堆)优化的贪心题。由于停留时间更长的地鼠更容易被选择,将时间选为关键字由大到小排序,开始贪心:将停留时间等于当前时间的地鼠的分数放入优先队列,如果队列不为空,就累计分数、弹出元素。最后输出总分数。

 1 #include<cstdio>
 2 #include<algorithm>
 3 #include<queue>
 4 using namespace std;
 5 priority_queue<int>heat;
 6 int n,i,T,k,ans;
 7 struct X{
 8     int t,s;
 9 }a[110];
10 bool cmp(X a,X b)
11 {
12     return a.t>b.t;
13 }
14 int main()
15 {
16     scanf("%d",&n);
17     for(i=1;i<=n;++i)
18     {
19         scanf("%d",&a[i].t);
20     }
21     for(i=1;i<=n;++i)
22     {
23         scanf("%d",&a[i].s);
24     }
25     sort(a+1,a+n+1,cmp);
26     T=a[1].t,k=1;
27     while(T)
28     {
29         while(a[k].t==T)
30         {
31             heat.push(a[k].s);
32             k++;
33         }
34         if(!heat.empty())
35         {
36             ans+=heat.top();
37             heat.pop();
38         }
39         T--;
40     }
41     printf("%d",ans);
42     return 0;
43 }

转载于:https://www.cnblogs.com/12mango/p/6891000.html

codevs 1052:地鼠游戏相关推荐

  1. codevs 1052 地鼠游戏

    1052 地鼠游戏  http://codevs.cn/problem/1052/ 题目描述 Description 王钢是一名学习成绩优异的学生,在平时的学习中,他总能利用一切时间认真高效地学习,他 ...

  2. codevs地鼠游戏(贪心)

    1052 地鼠游戏  时间限制: 1 s  空间限制: 128000 KB  题目等级 : 钻石 Diamond 题目描述 Description 王钢是一名学习成绩优异的学生,在平时的学习中,他总能 ...

  3. 【codevs1052】地鼠游戏,标签不都是对的

    1052 地鼠游戏 时间限制: 1 s 空间限制: 128000 KB 题目等级 : 钻石 Diamond 题解 题目描述 Description 王钢是一名学习成绩优异的学生,在平时的学习中,他总能 ...

  4. [codevs 1033] 蚯蚓的游戏问题

    [codevs 1033] 蚯蚓的游戏问题 题解: 首先每个点只能走一次,所以要靠拆点 (X -> Xi, Xj) 来限制每个点走的次数,容量为1,费用为食物量的相反数. 从源点向所有第一层的点 ...

  5. android地鼠游戏,非常地鼠手游

    非常地鼠,极端考验手速与眼力的砸地鼠游戏,游戏中玩家需要准确判断地鼠的落地位置,按照自身的规划掌握地鼠的出现规律,在地鼠出现的瞬间将其砸中,游戏玩法趣味性极强,感兴趣的玩家可以下载体验! 非常地鼠官方 ...

  6. 前端搭建砸地鼠游戏(内附源码)

    The sand accumulates to form a pagoda ✨ 写在前面 ✨ 功能介绍 ✨ 页面搭建 ✨ 样式设置 ✨ 逻辑部分 ✨ 完整代码 ✨ 写在前面 上周我们实通过前端基础实现 ...

  7. Cocos2D iOS之旅:如何写一个敲地鼠游戏(八):为动画建立属性列表

    大熊猫猪·侯佩原创或翻译作品.欢迎转载,转载请注明出处. 如果觉得写的不好请告诉我,如果觉得不错请多多支持点赞.谢谢! hopy ;) 免责申明:本博客提供的所有翻译文章原稿均来自互联网,仅供学习交流 ...

  8. WEB期末大作业 痒痒鼠游戏系统

    目录 开发环境 文件目录 数据库 网页展示 项目说明书 详细功能说明 设计环境 数据库设计 使用的前端框架 JSP页面的说明 心得体会 github指路 拖了好久终于想起来把WEB的期末作业传上来,系 ...

  9. Cocos2D iOS之旅:如何写一个敲地鼠游戏(九):创建动画

    大熊猫猪·侯佩原创或翻译作品.欢迎转载,转载请注明出处. 如果觉得写的不好请告诉我,如果觉得不错请多多支持点赞.谢谢! hopy ;) 免责申明:本博客提供的所有翻译文章原稿均来自互联网,仅供学习交流 ...

最新文章

  1. IROS 2020 | 跨视角语义分割前沿进展
  2. 测试优惠券要怎么写测试用例?
  3. Slackware硬盘安装方法
  4. gitlab合并分支_GitLab-参考问题
  5. 问题 D: 最小生成树II
  6. 认清当下的努力,可能毫无意义
  7. 【Unity新闻】Unity发布白皮书《11种有效的玩家参与策略》
  8. 《Algorithms》Java 语言特性
  9. mysql 日期计算,今天,明天,本周,下周,本月,下月
  10. 计算机1级题库软件,计算机一级软件哪个好_计算机一级刷题软件_计算机一级试题软件...
  11. Apache Tomcat 安装配置图文详细教程
  12. MFC API——》ModifyStyle
  13. 【深度学习框架】-Caffe(入门级学习一:简单介绍)
  14. 手机浏览器 打开 APP,APP 嵌套在了浏览器里,网页跳转app问题
  15. whisper客服源码_whisper客服系统兼容HTTPS方案
  16. 【杂谈】从零开始组建团队开发一款APP的人力成本以及时间成本解析
  17. 描写油菜花的好句好段
  18. 学习Less-看这篇就够了
  19. Nginx 访问加密
  20. vr全景系统平台哪家好, vr全景是什么?

热门文章

  1. imread函数 matlab_【MATLAB图像处理学习】1.读取和显示图片
  2. 嵩天python爬虫_我自己爬-python爬虫快速入门(一)
  3. [已解决]user is not in the sudoers file. This incident will be reported.(简单不容易出错的方式)
  4. python counter模块_python collections模块 计数器(counter)
  5. LeetCode 159. 至多包含两个不同字符的最长子串(滑动窗口)
  6. LintCode 1753. 写作业(二分查找)
  7. 剑指Offer - 面试题10- I. 斐波那契数列
  8. LeetCode 67. 二进制求和
  9. 数据结构--单链表single linked list数据结构C++实现
  10. python第k序元素查找列表_【Python】第8次练习:列表——程序填空题 -合并队列、列表元素零的移动、列表逆序输出、第K序元素查找...