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. Graphical vi-vim Cheat Sheet and Tutorial

    主要内容: VIM编辑器的快捷命令cheat sheet(小抄),一共七张图,简单明了地介绍了vim的快捷命令,相比于满满的图表,分成七小块更易于记住. 更多关于vim的cheat sheet以及相关 ...

  2. 【Android 百度地图实战】2.几种地图图层的显示

    具体代码官网API已提供,地址在这. 效果图如下: 主要代码: // 创建选项菜单 @Override public boolean onCreateOptionsMenu(Menu menu) { ...

  3. IN 查询时出现ORA-01795:列表中的最大表达式数为1000解决方法

    问题描写叙述: SQL进行IN查询时出现:java.sql.SQLException: ORA-01795: 列表中的最大表达式数为 1000 解决的方法: 问题原因是:SQL进行IN查询时.IN中的 ...

  4. VB 中窗口发现冲突名称,将使用名称...怎么解决?

    首先上图: 刚開始敲机房收费系统的时候就出现过这样的情况,当时有八个之多. 解决方法: (1)对窗口进行重命名(比如将frmGongZuoJiLu改成frmGongzuojilu),于是从8个错误降低 ...

  5. ArcGIS放射状流向地图

    今年百度推出了一个百度迁徙,在其他人看是好像是还挺专业的,其实不复杂.下面是百度的迁徙图示例:从图中可以看出从一个城市到另一个城市迁徙的直线路径,多个路径可以反映城市是否为热点城市,即人口流动比较大. ...

  6. 4、Android Activity的生命周期 Activity的生命周期

    watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQveXV4aWt1b18x/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA ...

  7. 用BeanUtilsDate类型值为空报错的解决方法

    除BeanUtils外还有一个名为PropertyUtils的工具类,它也提供copyProperties()方法,作用与BeanUtils的同名方法十分相似,主要的区别在于后者提供类型转换功能,即发 ...

  8. java发送email(含代理方式,ssl方式,传统方式)

    package spring.vhostall.com; import java.security.Security; import java.util.Date; import java.util. ...

  9. How to hide the create button dynamical tree view in openerp ?

    <tree create="false" edit="false" > <tree attrs="{'create':[(" ...

  10. 基于CUDA的粒子系统的实现

    基于CUDA的粒子系统的实现 用途: 这篇文章作为代码实现的先导手册,以全局的方式概览一下粒子系统的实现大纲. 科普: 对粒子进行模拟有两种基本方法: Eulerian(grid-based) met ...