【题解】鱼塘钓鱼

题目描述

        有N个鱼塘排成一排(N<100),每个鱼塘中有一定数量的鱼,例如:N=5时,如下表:

Failed to load picture

        即:在第1个鱼塘中钓鱼第1分钟内可钓到10条鱼,第2分钟内只能钓到8条鱼,......,第5分钟以后再也钓不到鱼了。从第1个鱼塘到第2个鱼塘需要3分钟,从第2个鱼塘到第3个鱼塘需要5分钟,......

        给出一个截止时间T(T<1000),设计一个钓鱼方案,从第1个鱼塘出发,希望能钓到最多的鱼。假设能钓到鱼的数量仅和已钓鱼的次数有关,且每次钓鱼的时间都是整数分钟。

 

输入格式

        共5行,分别表示:

        第一行为整数N;

        第二行为第1分钟各个鱼塘能钓到的鱼的数量,每个数据之间用一空格隔开;

        第三行为每过1分钟各个鱼塘钓鱼数的减少量,每个数据之间用一空格隔开;

        第四行为当前鱼塘到下一个相邻鱼塘需要的时间;

        第五行为截止时间T。

 

输出格式

        仅一个整数,表示能钓到的最多的鱼。

 

输入样例

5

10 14 20 16 9

2 4 6 5 3

3 5 4 4

14

 

输出样例

76

 

题解

        我们其实可以枚举从鱼塘$1$走到鱼塘$i$,在这过程中钓到的鱼的最大值。

        我们先提前减去来往鱼塘之间的时间,这样实际上就是转换成每次任意选第$1$到第$i$个鱼塘来钓鱼,用堆维护一下即可。

#include <iostream>
#include <cstdio>
#include <queue>
#include <map>#define MAX_N (100 + 5)using namespace std;int n;
int a[MAX_N], b[MAX_N], c[MAX_N];
int t;
priority_queue <pair <int, int> > q;
int ans;int main()
{scanf("%d", &n);for(register int i = 1; i <= n; ++i){scanf("%d", a + i);}for(register int i = 1; i <= n; ++i){scanf("%d", b + i);}for(register int i = 1; i < n; ++i){scanf("%d", c + i);}scanf("%d", &t);int tmp, sum, val, idx;for(register int i = 1; i <= n && t > 0; ++i){while(!q.empty()) q.pop();for(register int j = 1; j <= i; ++j){q.push(make_pair(a[j], j));}tmp = t;sum = 0;while(tmp-- && !q.empty()){val = q.top().first;idx = q.top().second;q.pop();sum += val;val -= b[idx];if(val > 0) q.push(make_pair(val, idx));}ans = max(ans, sum);t -= c[i];}printf("%d", ans);return 0;
} 
参考程序

 

转载于:https://www.cnblogs.com/kcn999/p/11216134.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/386346.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

腾讯,字节,阿里,小米,京东大厂Offer拿到手软!分享一点面试小经验

&#xff08;一&#xff09;简介 Handler机制是一套Android消息传递机制。在Android开发多线程的应用场景中&#xff0c;将工作线程中需更新UI的操作信息 传递到 UI主线程&#xff0c;从而实现 工作线程对UI的更新处理&#xff0c;最终实现异步消息的处理。 在Android开发中&a…

腾讯,字节,阿里,小米,京东大厂Offer拿到手软!绝对干货

开头 又到年底了&#xff0c;每到这个时候&#xff0c;我们都会慢慢反思&#xff0c;这一年都做了什么&#xff1f;有什么进步&#xff1f;年初的计划都实现了吗&#xff1f;明年年初有跳槽的底气了吗&#xff1f;况且今年的互联网环境太差&#xff0c;需要自己有足够的知识储…

request对象与response对象

一.request对象 1.通过request对象可以获得客户端输入的信息。request对象包含了从客户端传来的请求信息。 请求的参数是一个请求的组成部分&#xff0c;它们被作为字符串从客户端传送到JSP/Servlet容器中&#xff0c;并被用于初始化request对象。 2.request对象是javax.Servle…

腾讯,字节,阿里,小米,京东大厂Offer拿到手软!讲的明明白白!

缘起 随着Android开发行业逐渐饱和&#xff0c;对Android开发者的面试要求也越来越高&#xff0c;是否掌握底层源码&#xff0c;是面试官衡量一名Android开发者的重要依据。有没有读过源码也可以很大程度上判断你这个人的学习能力和思维方式。无论你开发经验几年&#xff0c;面…

HTML div 滚动条样式设计

::-webkit-scrollbar-track-piece{ background-color:#fff;/*滚动条的背景颜色*/ -webkit-border-radius:0;/*滚动条的圆角宽度*/ } ::-webkit-scrollbar{ width:8px;/*滚动条的宽度*/ height:8px;/*滚动条的高度*/ } ::-webkit-scrollbar-thumb:vertical{/*垂直滚动条的样式*/…

膜拜大佬!5年经验Android程序员面试27天,高级面试题+解析

前言 网上关于启动优化的文章多不胜数&#xff0c;内容千篇一律&#xff0c;大都是列举一些耗时操作&#xff0c;采用异步加载、懒加载等。 而在面试过程中&#xff0c;关于启动优化的问题&#xff0c;如果只是很表面地回答耗时操作应该放在子线程&#xff0c;显然太过于普通…

膜拜大佬!不同层级的Android开发者的不同行为,社招面试心得

都说Android最近行情不好&#xff0c;很多人都遇到瓶颈或放弃或转行。其实这种情况17年18年也是如此&#xff0c;相对比之下&#xff0c;个人认为今年比去年好多了&#xff0c;Android接下来将会走向复苏的春天。 自从Google开始推出AMP项目已经有一年了。除此之外&#xff0c;…

zookeeper的四种类型的节点

znode创建类型(CreateMode),有以下四种&#xff1a; PERSISTENT 持久化节点PERSISTENT_SEQUENTIAL 顺序自动编号持久化节点&#xff0c;这种节点会根据当前已存在的节点数自动加 1EPHEMERAL 临时节点&#xff0c; 客户端session超时这类节点…

膜拜大牛!Android开发最佳实践手册全网独一份,终获offer

前言 首先介绍一下自己&#xff0c;计算机水本&#xff0c;考研与我无缘。之前在帝都某公司算法部实习&#xff0c;公司算大公司吧&#xff0c;然而个人爱好偏开发&#xff0c;大二的时候写个一个app&#xff0c;主要是用各种框架。 学习路径&#xff1a;如何循序渐进、阶段性…

英语每日一句

从今天开始学英语了&#xff1a;还蛮重要的。 It s not what I ask for.这不是我要的那样。 你能写出&#xff0c;你第一时间想到的一句英语吗&#xff1f; 转载于:https://www.cnblogs.com/igouz/archive/2008/11/28/1343014.html

膜拜大牛!HTTPS面试常问全解析,吊打面试官系列!

写在前面 1月初失业&#xff0c;找了近2个多月的工作了&#xff0c;还没找到心仪的工作&#xff0c;感觉心好慌&#xff0c;不知道该怎么办了&#xff1f;找不到工作的时候压力很大&#xff0c;有人说自信会很受打击&#xff0c;还有人说会很绝望&#xff0c;是人生的低谷………

vSphere HA 原理与配置

内容预览&#xff1a; 1. vSphere HA 概述 2. vSphere HA 提供的保护级别 3. vSphere HA运行原理 4. vSphere HA 故障支持场景 5. vSphere HA接入控制策略 6. 如何选择vSphere HA 的接入控制策略 7. 配置vSphere HA的基础条件 8. 虚拟机组件保护 9. 开启vSphere HA功能 1. v…

自学Android!Android高级工程师面试题-字节跳动,附答案

前言 大厂面试一直都是程序员圈内摸鱼时间津津乐道的话题&#xff0c;进大厂想必也是无数程序员的梦想。 关于“原理”的问题&#xff0c;几乎是现如今Android开发岗必问的问题&#xff0c;尤其在大厂面试中更为突出。有过大厂面试经验的小伙伴应该知道&#xff1a;大厂的面试…

WEB可以调节的框架页

<html> <head><meta HTTP-EQUIV"Content-Type" CONTENT"text/html; charsetgb2312"><title>主框架[www.tecsoon.com]</title></head><frameset cols"30%,*"> <frame name"dir" target&…

被面试官问的Android问题难倒了,成功入职字节跳动

感悟 这个世界有一个“二八原则”在好多地方都发挥着作用&#xff0c;在Android开发上我认为也一样有用。做一个Android开发&#xff0c;你也许只会用到Android开发知识中的20%&#xff0c;有80%其实你学了也不一定会用。 而面试官也一样&#xff0c;他也可能只掌握了20%的知…

PANEL中显示窗体

var frm: TForm2;//定义窗口类begin PageControl1.activepage:tabsheet1; if Panel1.ControlCount 0 then begin frm : Tform2.Create(self); frm.Parent : Panel1; frm.BorderStyle : bsnone; frm.WindowState : wsmaximized; if skindata1.active…

被面试官问的Android问题难倒了,系列篇

本篇将由 环境搭建、实现原理、编程开发、插件开发、编译运行、性能稳定、发展未来 等七个方面&#xff0c;对当前的 React Native 和 Flutter 进行全面的分析对比&#xff0c;希望能给你更有价值的参考。 前言 移动端跨平台在经历数年沉浮之后&#xff0c;如今还能在舞台聚光…

使用screen管理后台程序

我们常需要SSH 或者telent 远程登录到Linux 服务器&#xff0c;经常运行一些需要很长时间才能完成的任务&#xff0c;在此期间不能关掉窗口或者断开连接&#xff0c;否则这个任务就会被杀掉&#xff0c;一切半途而废了。这时&#xff0c;我们可以用screen命令解决这个问题。 Sc…

被面试官问的Android问题难倒了,面试必会

开头 1、一定要把基本的数据结构&#xff0c;经典的算法&#xff0c;Unix编程&#xff0c;程序编译链接及计算机原理等基础知识扎牢&#xff0c;这些会长远影响你的职业发展。 2、 推荐从C语言入门&#xff0c;不单是因为很多操作系统、网络协议栈开源代码由C/C实现&#xff…

jquery checkbox 实现单选

最近在用javascript的时候发现网上实现checkbox单选的代码都已经过时了。 用着几年前的代码发现根本不行了 原因是jquery api已经更改 http://api.jquery.com/prop/ 这里是新的代码 $(function(){$(":checkbox").each(function(){$(this).click(function () {if ($(t…