【题解-信息学奥赛一本通】1373:鱼塘钓鱼(fishing)
题目1373鱼塘钓鱼(fishing题目描述有N个鱼塘排成一排N100每个鱼塘中有一定数量的鱼例如N5时如下表鱼塘编号每1分钟能钓到的鱼的数量1…1000每1分钟能钓鱼数的减少量1…100当前鱼塘到下一个相邻鱼塘需要的时间单位分钟鱼塘编号12345每1分钟能钓到的鱼的数量101420169每1分钟能钓鱼数的减少量24653当前鱼塘到下一个相邻鱼塘需要的时间单位分钟3544即在第1个鱼塘中钓鱼第1分钟内可钓到10条鱼第2分钟内只能钓到8条鱼……第5分钟以后再也钓不到鱼了。从第1个鱼塘到第2个鱼塘需要3分钟从第2个鱼塘到第3个鱼塘需要5分钟……给出一个截止时间T(T1000)设计一个钓鱼方案从第1个鱼塘出发希望能钓到最多的鱼。假设能钓到鱼的数量仅和已钓鱼的次数有关且每次钓鱼的时间都是整数分钟。输入共5行分别表示第1行为N第2行为第1分钟各个鱼塘能钓到的鱼的数量每个数据之间用一空格隔开第3行为每过1分钟各个鱼塘钓鱼数的减少量每个数据之间用一空格隔开第4行为当前鱼塘到下一个相邻鱼塘需要的时间第5行为截止时间T。输出一个整数不超过231−1表示你的方案能钓到的最多的鱼。时空限制1s / 64MB样例输入5 10 14 20 16 9 2 4 6 5 3 3 5 4 4 14样例输出76思路y总按照前后反复横跳可以将路线分为两类一类是经过某个点不钓鱼接着回到这点钓鱼后面到其他点钓之后再回到这个点钓鱼。另一类是从第一个点径直走到后面的点如果不再某点钓鱼那么之后也不会返回再钓。由于钓鱼的数量仅与钓鱼时间有关所以第二类路线的钓鱼数量第一类路线的钓鱼数量。在第二类路线中可以细分为n条具体的路径分别是从1-1从1-2从1-2-3…1-2-3…-n。枚举每条具体的路径求全局最优。在每条路径中假设该路径从1-2-3-…m钓鱼时间t总时间-路上花费的时间。要想钓鱼数量最大肯定希望每分钟钓的鱼数量最大。因此问题变成了求m个序列中的前t大元素。可以用大根堆来做。代码#includebits/stdc.husingnamespacestd;typedefpairint,intPII;constintN10010;intn,fish[N],sub[N],tim[N],T,ans;intwork(intm){intfishtimT-tim[m];priority_queuePIIheap;for(inti1;im;i)heap.push({fish[i],i});intk0,sum0;while(!heap.empty()kfishtim){PII theap.top();heap.pop();sumt.first;intit.second;if(t.first-sub[i]0)heap.push({t.first-sub[i],i});k;}returnsum;}intmain(){cinn;for(inti1;in;i)cinfish[i];for(inti1;in;i)cinsub[i];for(inti2;in;i){cintim[i];tim[i]tim[i-1];}cinT;for(inti1;in;i)ansmax(ans,work(i));coutans;return0;}结果

相关新闻

7.Java 深度练习

7.Java 深度练习

Java程序的基本结构记住这个模板,以后每个Java文件都长这样:public class‌:声明一个公共类,public表示这个类可以被其他任何类访问;class是定义类的关键字。HelloWorld‌:这是类名。根据 Java 规范&#x…

2026/7/30 21:43:32 阅读更多
Seed-VC模型选择实战:从入门到精通的完整指南

Seed-VC模型选择实战:从入门到精通的完整指南

Seed-VC模型选择实战:从入门到精通的完整指南 【免费下载链接】seed-vc zero-shot voice conversion & singing voice conversion, with real-time support 项目地址: https://gitcode.com/GitHub_Trending/se/seed-vc Seed-VC是一个强大的零样本语音转换…

2026/7/30 21:43:32 阅读更多
变量与运算符练习题

变量与运算符练习题

练习1:计算用户输入的任意两个整数的和、差、乘、商、余数。vim 1.sh #!/bin/bash a$1 b$2 echo ab$(($a$b)) echo a-b$((a-b)) echo a*b$((a*b)) echo a/b$((a/b)) echo a%b$((a%b)) [rootlocalhost test4]# ./1.sh 10 3练习2:让用户输入一个文件名&…

2026/7/30 22:13:36 阅读更多
OpenGL入门:绘制第一个三角形的完整指南

OpenGL入门:绘制第一个三角形的完整指南

1. OpenGL入门:从零绘制第一个三角形刚接触OpenGL时,绘制第一个三角形就像学习编程时写出"Hello World"一样具有仪式感。这个看似简单的图形背后,其实隐藏着现代图形渲染管线的核心机制。作为计算机图形学的基石,OpenGL…

2026/7/30 22:13:36 阅读更多
Java/Python/Node.js项目路径获取与管理实践

Java/Python/Node.js项目路径获取与管理实践

1. 为什么需要获取项目路径在开发过程中,获取项目路径是一个看似简单却至关重要的基础操作。我第一次意识到这个问题的重要性是在接手一个遗留项目时,发现代码中到处都是硬编码的绝对路径。当项目从开发环境迁移到测试环境时,所有路径都失效了…

2026/7/30 22:13:35 阅读更多
计算机毕业设计之爱看漫画小程序的设计与实现

计算机毕业设计之爱看漫画小程序的设计与实现

相比于以前的传统手工管理方式,智能化的管理方式可以大幅降低爱看漫画的运营人员成本,实现了爱看漫画的标准化、制度化、程序化的管理,有效地防止了爱看漫画的随意管理,提高了信息的处理速度和精确度,能够及时、准确地…

2026/7/30 22:03:34 阅读更多
[GESP202606 四级] 扫雷

[GESP202606 四级] 扫雷

B4557 [GESP202606 四级] 扫雷 https://www.luogu.com.cn/problem/B4557 中国计算机学会(CCF)2026年6月C四级讲解——扫雷 https://www.bilibili.com/video/BV1MCMg6AEXR/ B4557 [GESP202606 四级] 扫雷 https://www.bilibili.com/video/BV1ZKTj6ZEVh/ 2…

2026/7/30 0:01:06 阅读更多