1046: 钓鱼(数据增强版)

Time Limit: 1 Sec  Memory Limit:
128 MB

Submit: 11  Solved: 3

[

id=1046">Submit][Status][Web Board]

Description

在一条水平路边。有n个钓鱼湖。从右到左编号为1、2、3……、n。

佳佳有H个小时的空余时间。他希望用这些时间尽可能多的钓鱼。他从湖1出发,向右走。有选择的在一些湖边停留一定时间钓鱼。最后在某一湖边结束钓鱼。佳佳測出从第i个湖到第i+1个湖须要走Ti分钟的路,还測出在第i个湖边停留,第一个5分钟能够钓到鱼Fi,以后再每钓5分钟鱼,鱼量降低Di。

若时间不足5分钟则无法完毕钓鱼。为了简化问题。佳佳假定没有其它人钓鱼,也不会有其它影响因素影响他钓到期望数量的鱼。请编程求出能钓最多鱼的方案。

Input

包括多组測试例子。以文件尾为结束。
第一行输入两个整数。n(2<=n<=1000)和时间 H(1<=H<=30)
第二行输入n-1个整数,T1、T2、……、Tn-1. (0<=Ti<=1000)
第三行输入n个整数,F1、F2、……、Fn. (0<=Fi<=1000)
第四行输入n个整数。D1、D2、……、Dn. (0<=Di<=1000)

Output

输出最大的钓鱼数量,每一个输出占一行

Sample Input

3 1
40 10
70 70 70
5 5 5
3 1
20 20
100 50 70
50 20 30

Sample Output

510
270

HINT

例子一:在湖1钓鱼60分钟。70+65+……+15=510
例子二:在湖1钓鱼10分钟。0+100+50=150
              前往湖2花费20分钟。

              在湖2钓鱼5分钟。150+50=200
              前往湖3花费20分钟。

              在湖3钓鱼5分钟。200+70=270

Source

tyh

解析:同POJ 1042 Gone Fishing (贪心)(刘汝佳黑书)

但稍有不同的是,数据范围大了点,原来用priority_queue的代码TLE。因为非常多次的插入操作。导致priority_queue的效率体现的不明显,所以直接替换掉。用最朴素的方法反而更快点。

AC代码:

#include <algorithm>
#include <queue>
#include <iostream>
#include <cstdio>
#include <cstdlib>
using namespace std; const int maxn = 1002; int t[maxn], f[maxn], d[maxn]; struct node{
int f;
int d;
}; node fish[maxn], p[maxn]; int main(){
#ifdef sxk
freopen("in.txt", "r", stdin);
#endif // sxk int n, h;
while(scanf("%d%d", &n, &h)!=EOF){
h = h * 60;
for(int i=1; i<=n-1; i++) scanf("%d", &t[i]);
for(int i=1; i<=n; i++) scanf("%d", &fish[i].f);
for(int i=1; i<=n; i++) scanf("%d", &fish[i].d);
int maxans = 0;
for(int i=1; i<=n; i++){
int tc = 0;
for(int j=1; j<i; j++) tc += t[j];
for(int j=1; j<=i; j++) p[j] = fish[j]; //直接用数组取代priority_queue
int ans = 0;
int th = (h - tc) / 5;
for(int j=1; j<=th; j++){
int foo = 1;
for(int k=1; k<=i; k++) //遍历找最大值
if(p[k].f > p[foo].f) foo = k;
ans += p[foo].f;
p[foo].f -= p[foo].d;
if(p[foo].f < 0) p[foo].f = 0;
}
if(maxans < ans) maxans = ans;
}
printf("%d\n", maxans);
}
return 0;
}

HLJU 1046: 钓鱼(数据增强版) (贪心+优化)的更多相关文章

  1. 将表里的数据批量生成INSERT语句的存储过程 增强版

    将表里的数据批量生成INSERT语句的存储过程 增强版 有时候,我们需要将某个表里的数据全部或者根据查询条件导出来,迁移到另一个相同结构的库中 目前SQL Server里面是没有相关的工具根据查询条件 ...

  2. 将表里的数据批量生成INSERT语句的存储过程 继续增强版

    文章继续 桦仔兄的文章 将表里的数据批量生成INSERT语句的存储过程 增强版 继续增强... 本来打算将该内容回复于桦仔兄的文章的下面的,但是不知为何博客园就是不让提交!.... 所以在这里贴出来吧 ...

  3. (数据科学学习手札142)dill:Python中增强版的pickle

    本文示例代码已上传至我的Github仓库https://github.com/CNFeffery/DataScienceStudyNotes 1 简介 大家好我是费老师,相信不少读者朋友们都在Pyth ...

  4. 《zw版·delphi与halcon系列原创教程》zw版_THOperatorSetX控件函数列表 v11中文增强版

    <zw版·delphi与halcon系列原创教程>zw版_THOperatorSetX控件函数列表v11中文增强版 Halcon虽然庞大,光HALCONXLib_TLB.pas文件,源码就 ...

  5. [系统相关]WPS Office 2016 专业增强版 10.8.0.6470 免序列号无限制

    WPS Office (10.8.0.6470)  新增功能列表 ============================================= 改进功能列表 ------------ W ...

  6. Windows server 2008系统各类版本的优缺点比较,Windows2008系统标准版 企业版 数据中心版 WEB版等

    大家都知道Windows Server 2008 发行了多种版本,以支持各种规模的企业对服务器不断变化的需求.Windows Server 2008 有 5 种不同版本,另外还有三个不支持 Windo ...

  7. 微慕WordPress小程序增强版

    2017年1月9日,张小龙在2017微信公开课Pro上发布的微信小程序正式上线.在过去的2年多的时间里,微信小程序领头,各大互联网平台也不甘落后,陆续推出自己的小程序.2018年7月4日,百度智能小程 ...

  8. 最新GHOST XP系统下载旗舰增强版 V2016年

    系统来自:系统妈:http://www.xitongma.com 深度技术GHOST xp系统旗舰增强版 V2016年3月 系统概述 深度技术ghost xp系统旗舰增强版集合微软JAVA虚拟机IE插 ...

  9. 最新深度技术GHOST XP系统旗舰增强版 V2016年

    来自系统妈:http://www.xitongma.com 深度技术GHOST xp系统旗舰增强版 V2016年 系统概述 深度技术ghost xp系统旗舰增强版集合微软JAVA虚拟机IE插件,增强浏 ...

随机推荐

  1. [Sass] Level 3: Mixin -- Ex

    When to use MIXIN? Better way to use MIXIN is when you deal with browser prefiex, for example: @mixi ...

  2. (LeetCode 86)Partition List

    Given a linked list and a value x, partition it such that all nodes less than x come before nodes gr ...

  3. 如何使用SubtitleWorkshop制作字幕

    任意打开一段字幕文件 对于初学者而言还是最好打开一个带有中英字幕的视频文件(字幕是嵌入在视频文件里面的)然后一句一句照着写 先打开视频预览模式 再打开一段视频文件,并新建一个字幕文件 牢记几个快捷键 ...

  4. Smack 结合 Openfire服务器,建立IM通信,发送聊天消息

    在文章开始,请你了解和熟悉openfire方面的相关知识,这样对你理解下面代码以及下面代码的用途有很好的了解.同时,你可能需要安装一个简单的CS聊天工具,来测试你的代码是否成功的在openfire服务 ...

  5. ubuntu 软件包管理工具 dpkg,apt-get,aptitude 区别

    ubuntu 软件包管理工具 dpkg,apt-get,aptitude 区别 一:dpkg dpkg 是一种比较低层的软件包安装管理工具,在安装时,不会安装软件包的依赖关系:只能安装所要求的软件包: ...

  6. uni - 介绍

    uni-app 是一个使用 Vue.js 开发跨平台应用的前端框架,开发者编写一套代码,可编译到iOS.Android.H5.小程序等多个平台 优点:基于vue.mpvue.微信小程序 微信小程序AP ...

  7. 监听器(web基础学习笔记二十二)

    一.监听器 监听器是一个专门用于对其他对象身上发生的事件或状态改变进行监听和相应处理的对象,当被监视的对象发生情况时,立即采取相应的行动.监听器其实就是一个实现特定接口的普通java程序,这个程序专门 ...

  8. 算法笔记_178:历届试题 邮局(Java)

    目录 1 问题描述 2 解决方案   1 问题描述 问题描述 C村住着n户村民,由于交通闭塞,C村的村民只能通过信件与外界交流.为了方便村民们发信,C村打算在C村建设k个邮局,这样每户村民可以去离自己 ...

  9. 1z0-052 q209_7

    7: In which of the scenarios will the DBA perform recovery? (Choose all that apply.) A.The alert log ...

  10. axios 请求参数配置说明

    axios的配置项地址参考: https://www.npmjs.com/package/axios { // `url` is the server URL that will be used fo ...