鱼塘钓鱼 优先队列 多路归并排序 贪心
鱼塘钓鱼 优先队列 多路归并排序 贪心
优先队列介绍
贪心思想:不会回头
解题思想:枚举0-N-1目的地鱼塘k,
如图 从上到下 选t(钓鱼的时间)个数,使和最大
#include<iostream>
#include<queue>
using namespace std;priority_queue<pair<int,int> > q;
int maxx;
int N,T;int sum[105]; //sum[k] 表示到k鱼塘路程消耗的时间 struct YuT{ //读入鱼塘信息 int beg; int dt;
}yy[105];int main()
{cin>>N;int a;for(int i=0;i<N;i++){scanf("%d",&yy[i].beg);} for(int i=0;i<N;i++){scanf("%d",&yy[i].dt);}for(int i=1;i<N;i++){scanf("%d",&a);sum[i]=sum[i-1]+a;}cin>>T;int t; //钓鱼的时间 int ans;for(int k=0;k<N;k++) //枚举目的地 {// cout<<"k:"<<k<<endl;ans=0;while(!q.empty()){q.pop();}t=T-sum[k];if(t<=0) continue;// cout<<"t:"<<t<<endl;for(int i=0;i<=k;i++) //把一路的头入队列 {q.push({yy[i].beg,i}); //需要记录鱼塘代号,以便入下个队列 }int near;while(!q.empty()) //某一路可掉的鱼数归0了 {pair<int,int> s=q.top(); //每次钓1min鱼 q.pop();t--; ans+=s.first; //掉一分钟 钓鱼总数增加 // cout<<s.first<<" "<<s.second<<endl; if(!t) //时间用完了,跳出循环 {break;}near=s.first-yy[s.second].dt; //计算 下一个入队列的 if(near>0)q.push({near,s.second});}maxx=max(maxx,ans); }cout<<maxx;return 0;
}
鱼塘钓鱼 优先队列 多路归并排序 贪心相关推荐
- 1373:鱼塘钓鱼(fishing)——优先队列+贪心
[题目描述] 有N个鱼塘排成一排(N<100),每个鱼塘中有一定数量的鱼,例如:N=5时,如下表: 即:在第1个鱼塘中钓鱼第1分钟内可钓到10条鱼,第2分钟内只能钓到8条鱼,--,第5分钟以后再 ...
- SSL 2331 洛谷 1717 信息学奥赛一本通 1373 鱼塘钓鱼#贪心#
动态规划 温馨提示:交洛谷请在总时间*12并调整输入格式. 题目 设计一个钓鱼方案,从第1个鱼塘出发,希望能钓到最多的鱼. 分析 首先是贪心,最后在第i个鱼塘钓鱼的话,那么路上的时间是固定的,所以也可 ...
- 【一本通评测 1373】【堆】【贪心】鱼塘钓鱼
鱼塘钓鱼 题目 解题思路 Code 一本通评测 1373:鱼塘钓鱼(fishing) 题目 [题目描述] 有N个鱼塘排成一排(N<100),每个鱼塘中有一定数量的鱼,例如:N=5时,如下表: 鱼 ...
- 信息学奥赛一本通 1373:鱼塘钓鱼(fishing)
[题目链接] ybt 1373:鱼塘钓鱼(fishing) [题目考点] 1. 动态规划:区间动规 2. 贪心 优先队列 [解题思路] 解法1:区间动规 该人只会从编号小的鱼塘走到编号大的鱼塘,不存在 ...
- 鱼塘钓鱼(信息学奥赛一本通-T1373)
[题目描述] 有N个鱼塘排成一排(N<100),每个鱼塘中有一定数量的鱼,例如:N=5时,如下表: 即:在第1个鱼塘中钓鱼第1分钟内可钓到10条鱼,第2分钟内只能钓到8条鱼,--,第5分钟以后再 ...
- 堆——鱼塘钓鱼:简直爽!
我人生中的第一篇博客:想想还有点小激动呢! 鱼塘钓鱼(fishing) [问题描述] 有N个鱼塘排成一排(N<100),在第1个鱼塘中钓鱼第1分钟内可钓到10条鱼,第2分钟内只能钓到8 ...
- 多路归并排序_1600W整数排序多路归并
Merge Sort 问题描述 Go 语言实现一个16M的整数(int64)多路归并的数组排序 思路 将待排序数组分成多个组,利用多个goroutine实现各个组的并行排序:然后通过Heap(最小堆) ...
- sphinx索引分析——文件格式和字典是double array trie 检索树,索引存储 – 多路归并排序,文档id压缩 – Variable Byte Coding...
1 概述 这是基于开源的sphinx全文检索引擎的架构代码分析,本篇主要描述index索引服务的分析.当前分析的版本 sphinx-2.0.4 2 index 功能 3 文件表 4 索引文件结构 4. ...
- 【c++一本通】【堆】鱼塘钓鱼
[c++一本通][堆]鱼塘钓鱼 题目 解题思路 枚举去到的最远的鱼塘 减去花费在路程上的时间,剩下的就是用来钓鱼的时间 将能到达的鱼塘初始的鱼,加入堆 然后取出堆顶,加入其下一次钓到的鱼的数量 直到时 ...
最新文章
- 空间刚架matlab_基本平面刚架MATLAB程序
- 定义python的色条_Python:定义颜色曲线部分
- Oracle 函数大全(字符串函数,数学函数,日期函数,逻辑运算函数,其他函数)...
- 计算机应用水平excel考什么,全国专业技术人员计算机应用能力考试EXCEL2003中文字处理全真模拟试卷(三)...
- 检测网络端口和刷新本地DNS
- 利用DDS IP实现线性调频信号(二)
- QQ输入法怎么设置快捷短语
- Linux stress命令详解
- ZA7783是一颗将单路MIPI DSI信号转换成单路LVDS/TTL信号的转接芯片
- RK3066的uboot源码分析
- 【设计】工业设计公司设计师的原则
- 基于LCC谐振补偿网络的无线充电技术的研究
- windows上软件上传至linux上,《如何将windows上的软件包或文件上传到linux服务上》...
- 深入浅出Linux操作系统权限管理与网络配置(三)
- turbo linux系统光盘,TurboLinux系统启动软盘的创建方法(转)
- java 队列已满_JAVA中常见的阻塞队列详解
- 2010年最有价值做的16个广告联盟
- 第五章 循环结构程序设计习题(2)
- JavaWeb学习笔记之——CSS
- CRect::SetRect说明
热门文章
- MBA明年学费酝酿大涨 涨价幅度可能高达50%
- (线段判交的一些注意。。。)nyoj 1016-德莱联盟
- persistence.cpp:2197:ann.xml(1): There should be space between attributes in function icvXMLParseTag
- 当计算机遇上经济学:如何量化你的投资并获得第一桶金
- Flowable 服务任务执行的三种方式
- c语言编程倒三角九九乘法表,【请用C语言变成】把九九乘法表分别显示成矩形,正三角,倒三角形状...
- rasp 系统_RASP相关的技术实现和产品介绍
- C语言实现组合式的计算
- 公司来了阿里人,然后......
- Android手机号码获取问题 用APN来获取手机号