Acwing.1262 鱼塘钓鱼(多路归并)

题目

有 N个鱼塘排成一排,每个鱼塘中有一定数量的鱼,例如:N=5时,如下表:
在这里插入图片描述
即:在第 1个鱼塘中钓鱼第 1分钟内可钓到 10条鱼,第 2分钟内只能钓到 8条鱼,……,第 5分钟以后再也钓不到鱼了。

从第 1个鱼塘到第 2个鱼塘需要 3分钟,从第 2个鱼塘到第 3个鱼塘需要 5分钟,……

给出一个截止时间 T,设计一个钓鱼方案,从第 1个鱼塘出发,希望能钓到最多的鱼。

假设能钓到鱼的数量仅和已钓鱼的次数有关,且每次钓鱼的时间都是整数分钟。

输入格式

共 5行,分别表示:

第1行为 N;

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

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

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

第5行为截止时间 T。

输出格式

一个整数(不超过231−1),表示你的方案能钓到的最多的鱼。

数据范围

1≤N≤100

1≤T≤1000

  • 输入样例:
5
10 14 20 16 9
2 4 6 5 3
3 5 4 4
14
  • 输出样例:
76

题解

import java.util.Arrays;
import java.util.Scanner;/*** @author akuya* @create 2024-03-15-18:58*/
public class Main {static int n;static int N=101;static int T;static int a[]=new int[N];static int d[]=new int[N];static int l[]=new int[N];static int spend[]=new int[N];public static void main(String[] args) {Scanner scanner=new Scanner(System.in);n=scanner.nextInt();for(int i=1;i<=n;i++){a[i]=scanner.nextInt();}for(int i=1;i<=n;i++){d[i]=scanner.nextInt();}for(int i=2;i<=n;i++){l[i]=scanner.nextInt();l[i]+=l[i-1];}T=scanner.nextInt();int res=0;for(int i=1;i<=n;i++){res=Math.max(res,work(i,T-l[i]));}System.out.println(res);}public static int work(int a,int b){int res=0;Arrays.fill(spend,0);for(int i=0;i<b;i++){int t=1;for(int j=2;j<=a;j++){if (get(t) < get(j)) {t=j;}}res+=get(t);spend[t]++;}return res;}public static int get(int i){return Math.max(a[i]-d[i]*spend[i],0);}
}

思路

这道题是一道经典的多路归并题,如果考虑多条件一条一条路选择就只有两种方式,其中一个是暴力搜索,一个是动态规划,这道题动态规划可以实现,但略微麻烦,不如采用多路归并的思想,因为路线总共只有N条,前1至前5,遍历这五条路线,并用归并排序选择每条路线中最大值的思想,最后取五种情况的最大值即可。

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

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

相关文章

中国首个基于区块链的分布式算力网络上线

随着美国人工智能公司OpenAI近期发布的Sora视频模型&#xff0c;全球对高性能算力的需求突破了历史新高。Sora的创新在于它能够以超长生成时间、多角度镜头捕捉&#xff0c;理解物理世界的能力&#xff0c;这不仅是技术的一大突破&#xff0c;更是对算力需求的一大挑战。在这样…

前端项目,个人笔记(一)【Vue-cli - 定制化主题 + 路由设计】

目录 1、项目准备 1.1、项目初始化 1.2、elementPlus按需引入 注&#xff1a;使用cnpm安装elementplus及两个插件&#xff0c;会报错&#xff1a;vueelement-plus报错TypeError: Cannot read properties of null (reading isCE ) &#xff0c;修改&#xff1a; 测试&#…

计算机服务器中了360后缀勒索病毒怎么办,勒索病毒解密工具与流程

对于众多的企业来说&#xff0c;利用网络开展各项工作业务是必不可少的环节&#xff0c;网络为企业的生产运营提供了有利条件&#xff0c;但网络是一把双刃剑&#xff0c;在为人们提供便利的同时&#xff0c;也为企业的数据安全带来严重威胁。近期&#xff0c;云天数据恢复中心…

MySQL锁整理

MySQL锁信息来源 MySQL锁太多&#xff0c;内容太杂。写篇文章记录一下

PHP 线性搜索算法

线性搜索被定义为一种顺序搜索算法&#xff0c;从一端开始&#xff0c;遍历列表中的每个元素&#xff0c;直到找到所需的元素&#xff0c;否则搜索将继续&#xff0c;直到数据集的末尾。 线性搜索算法 线性搜索算法如何工作&#xff1f; 在线性搜索算法中&#xff1a; …

修复ElementUI中el-select与el-option无法通过v-model实现数据双向绑定的问题

1. 问题描述 需求&#xff1a;在使用ElementUI时&#xff0c;通过el-select和el-option标签实现下拉列表功能&#xff0c;当el-option中的选项被选中时&#xff0c;被选中的选项可以正确回显到已选择的列表中。 对于上面的下拉列表&#xff0c;当我们选中“超级管理员”的选项…

《科学之友》是什么级别的期刊?是正规期刊吗?能评职称吗?

问题解答&#xff1a;问&#xff1a;《科学之友》是什么级别的期刊呢&#xff1f; 答&#xff1a;省级&#xff1b;主管单位&#xff1a;山西省科学技术协会&#xff1b;主办单位&#xff1a;山西科技新闻出版传媒集团有限责任公司 问&#xff1a;《科学之友》是正规期刊吗&a…

深度揭秘HW中的灰色技术(盗号,个人实时定位,远程监听)

xss漏洞&#xff1a;是数量最多的漏洞 cross-site scripting 跨站脚本攻击 1.反射型xss&#xff1a;代码存在于网址中&#xff0c;将存在恶意代码的链接发给用户&#xff0c;点击后才能攻击成功实施。 2.存储型xss&#xff1a;指Web应用程序会将用户输入的数据信息保持在服务…

网络管理基础

Linux网络管理 1.网络管理概念 网络接口和名称 &#xff1a;网卡 ip地址 网关 主机名称 路由2.管理工具 net-tools: #安装包 ifconfig netstat 准备要废掉了。iproute: #安装包 ip #提供ip命令3.认识网卡 lo网卡 :本地回环网卡&#xff0c;本机上的服务自己访问自…

C语言【典型算法编程题】总结

以下最全总结! 一,分支结构 1,if 编写程序,从键盘上输入三角形的三个边长(实数),判断这三个边能否构成三角形(构成三角形的条件为:任意两边之和大于第三边),如果能构成三角形,则计算三角形的面积并输出(保留2位小数);如果不能构成三角形,则输出“Flase”字符…

3.Windows下安装MongoDB和Compass教程

Windows下安装MongoDB 总体体验下来&#xff0c;&#xff0c;要比MySQL的安装简单了许多&#xff0c;没有过多的配置&#xff0c;直接就上手了&#xff01; 1、下载 进入官方的下载页面https://www.mongodb.com/try/download/community&#xff0c;如下选择&#xff0c;我选…

Hadoop学习1:概述、单体搭建、伪分布式搭建

文章目录 概述基础知识Hadoop组件构成Hadoop配置文件 环境准备配置Hadoop配置下载配置环境变量 Hadoop运行模式Standalone Operation&#xff08;本地&#xff09;官方DemoWordCount单词统计Demo Pseudo-Distributed Operation&#xff08;伪分布式模式&#xff09;配置修改启动…