1373:鱼塘钓鱼(fishing)
时间限制: 1000 ms         内存限制: 65536 KB
【题目描述】
有N个鱼塘排成一排(N<100),每个鱼塘中有一定数量的鱼,例如:N=5时,如下表:
鱼塘编号每1分钟能钓到的鱼的数量(1..1000)每1分钟能钓鱼数的减少量(1..100)当前鱼塘到下一个相邻鱼塘需要的时间(单位:分钟)11023214453206441654593
即:在第1个鱼塘中钓鱼第1分钟内可钓到10条鱼,第2分钟内只能钓到8条鱼,……,第5分钟以后再也钓不到鱼了。从第1个鱼塘到第2个鱼塘需要3分钟,从第2个鱼塘到第3个鱼塘需要5分钟,……
给出一个截止时间T(T<1000),设计一个钓鱼方案,从第1个鱼塘出发,希望能钓到最多的鱼。
假设能钓到鱼的数量仅和已钓鱼的次数有关,且每次钓鱼的时间都是整数分钟。
【输入】
共5行,分别表示:
第1行为N;
第2行为第1分钟各个鱼塘能钓到的鱼的数量,每个数据之间用一空格隔开;
第3行为每过1分钟各个鱼塘钓鱼数的减少量,每个数据之间用一空格隔开;
第4行为当前鱼塘到下一个相邻鱼塘需要的时间;
第5行为截止时间T。
【输出】
一个整数(不超过2^31−1),表示你的方案能钓到的最多的鱼。
【输入样例】
5
10 14 20 16 9
2 4 6 5 3
3 5 4 4
14
【输出样例】
76

#include <iostream>
#include <cstdio>
#include <cstring>
using namespace std;
int n,fish[105],reduce_fish[105],minute[105];
int size,heap[100005];//大堆
int T,hlake[100005];
void put(int x,int lake){//增加元素int i,j,t;size++;heap[size]=x;hlake[size]=lake;i=size;while(i>1){//向上调整j=i/2;if(heap[i]<=heap[j]) return;//子结点小于等于父结点 返回//子结点比父结点大 就交换t=heap[i];heap[i]=heap[j];heap[j]=t;t=hlake[i];hlake[i]=hlake[j];hlake[j]=t;i=j;}
}
void Heap(int erw){//将堆中第i个元素向下调整int i=erw,j,t;while(i*2<=size){j=i*2;if(j<size && heap[j+1]>heap[j]) j++;//右孩子大于左孩子 使用右孩子if(heap[i]>=heap[j]) return;//父结点大于等于子结点 返回//父结点小于子结点 交换t=heap[i];heap[i]=heap[j];heap[j]=t;t=hlake[i];hlake[i]=hlake[j];hlake[j]=t;i=j;}
}
int main()
{int i,j,m,p=0,ans=0;cin>>n;for(i=1;i<=n;i++) cin>>fish[i];for(i=1;i<=n;i++) cin>>reduce_fish[i];for(i=1;i<=n-1;i++) cin>>minute[i];cin>>m;for(i=1;i<=n;i++){//枚举最后一个到达的鱼塘T=m-p;int sum=0;size=0;for(j=1;j<=i;j++) put(fish[j],j);//入堆while(T>0 && heap[1]>0){//时间没有结束 且这个鱼塘里还有鱼sum+=heap[1];//增加大堆顶heap[1]-=reduce_fish[hlake[1]];//鱼塘鱼量减少Heap(1);//调整堆T--;//时间减少}if(sum>ans) ans=sum;//更新最大值p+=minute[i]; //调整到下一个鱼塘                  }cout<<ans;return 0;
}

1373:鱼塘钓鱼(fishing)相关推荐

  1. 1373:鱼塘钓鱼(fishing)——优先队列+贪心

    [题目描述] 有N个鱼塘排成一排(N<100),每个鱼塘中有一定数量的鱼,例如:N=5时,如下表: 即:在第1个鱼塘中钓鱼第1分钟内可钓到10条鱼,第2分钟内只能钓到8条鱼,--,第5分钟以后再 ...

  2. 信息学奥赛一本通 1373:鱼塘钓鱼(fishing)

    [题目链接] ybt 1373:鱼塘钓鱼(fishing) [题目考点] 1. 动态规划:区间动规 2. 贪心 优先队列 [解题思路] 解法1:区间动规 该人只会从编号小的鱼塘走到编号大的鱼塘,不存在 ...

  3. SSL 2331 洛谷 1717 信息学奥赛一本通 1373 鱼塘钓鱼#贪心#

    动态规划 温馨提示:交洛谷请在总时间*12并调整输入格式. 题目 设计一个钓鱼方案,从第1个鱼塘出发,希望能钓到最多的鱼. 分析 首先是贪心,最后在第i个鱼塘钓鱼的话,那么路上的时间是固定的,所以也可 ...

  4. 【一本通 1373】鱼塘钓鱼(fishing)【堆】

    解题思路 我们枚举最后一个,也就是最右边的鱼塘,则花费的时间就是从第一个鱼塘到这个鱼塘的时间总和,(因为走回头路显然是没意义的). 每次算出以i为最后一个鱼塘还剩的时间,然后把他前面的鱼塘都放进大根堆 ...

  5. 【一本通评测 1373】【堆】【贪心】鱼塘钓鱼

    鱼塘钓鱼 题目 解题思路 Code 一本通评测 1373:鱼塘钓鱼(fishing) 题目 [题目描述] 有N个鱼塘排成一排(N<100),每个鱼塘中有一定数量的鱼,例如:N=5时,如下表: 鱼 ...

  6. 堆——鱼塘钓鱼:简直爽!

    我人生中的第一篇博客:想想还有点小激动呢! 鱼塘钓鱼(fishing) [问题描述]      有N个鱼塘排成一排(N<100),在第1个鱼塘中钓鱼第1分钟内可钓到10条鱼,第2分钟内只能钓到8 ...

  7. 鱼塘钓鱼(信息学奥赛一本通-T1373)

    [题目描述] 有N个鱼塘排成一排(N<100),每个鱼塘中有一定数量的鱼,例如:N=5时,如下表: 即:在第1个鱼塘中钓鱼第1分钟内可钓到10条鱼,第2分钟内只能钓到8条鱼,--,第5分钟以后再 ...

  8. 鱼塘钓鱼 优先队列 多路归并排序 贪心

    鱼塘钓鱼 优先队列 多路归并排序 贪心 优先队列介绍 贪心思想:不会回头 解题思想:枚举0-N-1目的地鱼塘k, 如图 从上到下 选t(钓鱼的时间)个数,使和最大 #include<iostre ...

  9. 【c++一本通】【堆】鱼塘钓鱼

    [c++一本通][堆]鱼塘钓鱼 题目 解题思路 枚举去到的最远的鱼塘 减去花费在路程上的时间,剩下的就是用来钓鱼的时间 将能到达的鱼塘初始的鱼,加入堆 然后取出堆顶,加入其下一次钓到的鱼的数量 直到时 ...

  10. 信息学奥赛一本通 1373池塘钓鱼

    池塘钓鱼 题目:http://ybt.ssoier.cn:8088/problem_show.php?pid=1373 好吧,在堆类型的题中我看到这道题第一个想到的居然是动态规划-- 1.DP 状态转 ...

最新文章

  1. OpenCV读写图像文件解析
  2. android修改视频聊天帧率,Android基于腾讯云实时音视频仿微信视频通话最小化悬浮(4)...
  3. RHEL7OSP-6.0的openstack云主机发放
  4. safe_mode 开启后linux下影响
  5. 2018-2019-1 20165335 《信息安全系统设计基础》第六周学习总结
  6. 倡导农民丰收节交易会-农业大健康·万祥军:谋定功能性农业
  7. Oracle性能误区--MTS,RAC,分区,并行查询
  8. 扫帚:我天天都能立起来,看把你们闲的
  9. 微信官方都辟谣,可真有技术人用 AI、大数据实现头像添加圣诞帽了!
  10. 6.Jenkins 权威指南 --- 高级构建
  11. 使用rarcrack暴力破解RAR,ZIP,7Z压缩包
  12. 海南省主要城市商品住宅价格分析
  13. 基于内容的图像检索系统设计与实现-java+mysql
  14. 我国跨境电子商务的发展概念以及发展概况
  15. 拿什么产品引流年轻女性?发什么能吸引女粉丝?
  16. Linux素描软件,Linux 桌面现状素描
  17. Node开发后台API接口项目
  18. HyperLynx(十一)BoardSim和PCB板级仿真分析(二)
  19. PAT天梯赛Level2题目题解汇总
  20. 月薪80k阿里架构师:给迷茫的JAVA一些中肯建议(附学习路线图)

热门文章

  1. canvas :五角星的代码实现
  2. word 2016编辑区鼠标光标消失/变白解决方案
  3. 关于资产分池ABS等金融衍生品内容来袭
  4. linux grep -rn如何只过滤第二层的某个文件夹
  5. 特殊符号大全复制_上榜!4.15特殊符号大全优美的制作网名符号案例分享,适合微信游戏昵称...
  6. 细菌的天敌抗生素,如何利用这把救命的双刃剑?
  7. 数字PCR和实时PCR的全球与中国市场2022-2028年:技术、参与者、趋势、市场规模及占有率研究报告
  8. 计算机磁盘管理打不开,教你怎样轻松解决磁盘打不开的问题
  9. 北京大学公开课-影片赏析
  10. 打印机如何取消打印任务