ssl2331OJ1373-鱼塘钓鱼 之1【纯贪心】
前言
dp做法
堆优化贪心做法
题目:OJ1373
正题
有N个鱼塘,给出每分钟可以钓到的鱼数和每钓一次下一次钓减少的鱼数和到下一个鱼塘需要几分钟(不能回头)。求限定时间内最多能够钓到的鱼数
解题思路
由于数据较小,我们枚举一下最后到达的池塘,然后在开始计算时间时就减去路程然后就可以在计算时不需要计算路程问题了。然后每次找最多鱼的池塘钓,然后减那个池塘的鱼数(这里讲一下原理,由于我们不能确定这时是继续钓好还是去下一个池塘钓好,于是我们就用这种方法确定每个池塘应该钓多久),以此类推直到时间耗尽,然后每次更新最大答案。
代码
#include<iostream>
#include<cstdio>
#include<algorithm>
using namespace std;
int tn,lt,num[101],t[101],mov[101],sum,n,m,a[101];
int main()
{scanf("%d",&n);for (int i=1;i<=n;i++) scanf("%d",&num[i]);for (int i=1;i<=n;i++) scanf("%d",&mov[i]);for (int i=1;i<n;i++) scanf("%d",&t[i]);scanf("%d",&m);//输入for (int k=1;k<=n;k++){int time=m-lt,ans=0,maxn;for (int i=1;i<=k;i++) a[i]=num[i];//初始化while (time>0)//直到时间耗尽{maxn=0;for (int i=1;i<=k;i++)if (a[i]>a[maxn]) maxn=i;//找最大值if (maxn==0) break;ans+=a[maxn];//钓a[maxn]-=mov[maxn];//减少鱼数time--;//时间减少}sum=max(sum,ans);//更新最大值lt+=t[k];//路程提前计算}printf("%d",sum);
}
ssl2331OJ1373-鱼塘钓鱼 之1【纯贪心】相关推荐
- 鱼塘钓鱼 优先队列 多路归并排序 贪心
鱼塘钓鱼 优先队列 多路归并排序 贪心 优先队列介绍 贪心思想:不会回头 解题思想:枚举0-N-1目的地鱼塘k, 如图 从上到下 选t(钓鱼的时间)个数,使和最大 #include<iostre ...
- 1373:鱼塘钓鱼(fishing)——优先队列+贪心
[题目描述] 有N个鱼塘排成一排(N<100),每个鱼塘中有一定数量的鱼,例如:N=5时,如下表: 即:在第1个鱼塘中钓鱼第1分钟内可钓到10条鱼,第2分钟内只能钓到8条鱼,--,第5分钟以后再 ...
- 【一本通评测 1373】【堆】【贪心】鱼塘钓鱼
鱼塘钓鱼 题目 解题思路 Code 一本通评测 1373:鱼塘钓鱼(fishing) 题目 [题目描述] 有N个鱼塘排成一排(N<100),每个鱼塘中有一定数量的鱼,例如:N=5时,如下表: 鱼 ...
- SSL 2331 洛谷 1717 信息学奥赛一本通 1373 鱼塘钓鱼#贪心#
动态规划 温馨提示:交洛谷请在总时间*12并调整输入格式. 题目 设计一个钓鱼方案,从第1个鱼塘出发,希望能钓到最多的鱼. 分析 首先是贪心,最后在第i个鱼塘钓鱼的话,那么路上的时间是固定的,所以也可 ...
- ssl2331OJ1373-鱼塘钓鱼 之2【贪心堆优化】
前言 上篇:纯贪心做法 下篇:dp做法 题目:OJ1373 正题 有N个鱼塘,给出每分钟可以钓到的鱼数和每钓一次下一次钓减少的鱼数和到下一个鱼塘需要几分钟(不能回头).求限定时间内最多能够钓到的鱼数 ...
- 鱼塘钓鱼(信息学奥赛一本通-T1373)
[题目描述] 有N个鱼塘排成一排(N<100),每个鱼塘中有一定数量的鱼,例如:N=5时,如下表: 即:在第1个鱼塘中钓鱼第1分钟内可钓到10条鱼,第2分钟内只能钓到8条鱼,--,第5分钟以后再 ...
- 堆——鱼塘钓鱼:简直爽!
我人生中的第一篇博客:想想还有点小激动呢! 鱼塘钓鱼(fishing) [问题描述] 有N个鱼塘排成一排(N<100),在第1个鱼塘中钓鱼第1分钟内可钓到10条鱼,第2分钟内只能钓到8 ...
- 信息学奥赛一本通 1373:鱼塘钓鱼(fishing)
[题目链接] ybt 1373:鱼塘钓鱼(fishing) [题目考点] 1. 动态规划:区间动规 2. 贪心 优先队列 [解题思路] 解法1:区间动规 该人只会从编号小的鱼塘走到编号大的鱼塘,不存在 ...
- 【c++一本通】【堆】鱼塘钓鱼
[c++一本通][堆]鱼塘钓鱼 题目 解题思路 枚举去到的最远的鱼塘 减去花费在路程上的时间,剩下的就是用来钓鱼的时间 将能到达的鱼塘初始的鱼,加入堆 然后取出堆顶,加入其下一次钓到的鱼的数量 直到时 ...
- 鱼塘钓鱼 贪心算法
问题描述 约翰有h(1≤h≤16)个小时的时间,在该地区有n(2≤n≤25)个湖,这些湖刚好分布在一条路线上,该路线是单向的.约翰从湖1出发,他可以在任一个湖结束钓鱼.但他只能从一个湖到达另一个与之相 ...
最新文章
- C/C++-标准输入/输出重定向为文件输入/输出
- php制作本地程序,PHP安装程序制作
- fileinput 时间_JavaScript_Bootstrap Fileinput文件上传组件用法详解,最近时间空余,总结了一些关...
- VirtualBox中出现UUID have already exists 解决方法
- plsql怎么用字段查表明_如何将oracle表中的字段类型、字段注释说明、字段名一起查询出来...
- 设置Myeclipse中的代码格式化、及保存时自动格式化
- try-catch语句
- Shiro JSP 标签
- [小知识] 关于Excel中行列的固定
- 纪念概率学界最后一位集大成者——钟开莱
- 计算机软件 属于特许权,​软件使用权是否属于无形资产
- macd指标如何看?怎么用MACD指标确定买入和离场点?
- 保存相片是什么图像格式?
- 12、【股票策略】使用backtrader回测升级版的狗股策略-基于股息率和市净率两个因子
- 增强For循环以及集合遍历语法糖
- JavaSE——Day12
- 人工神经网络的结构特征,神经网络的神经元结构
- 算法学习之- 动态规划
- Vue2.0 新手完全填坑攻略——从环境搭建到发布
- Java操作MongoDB
热门文章
- 显卡mx150和230哪个好_建模渲染用专业图形显卡和游戏显卡哪个更好?
- python中log1p用法_python中logging模块的基本用法
- mysql 左连接 怎么走索引_数据库索引、左连接、右连接、等值连接
- golang 切片 接口_Golang语言常用关键字之 make 和 new
- python交通标志识别_YOLOv3目标检测实战:交通标志识别
- matlab size x 2,Matlab中的N=size(X,2)是什么意思
- [RabbitMQ]工作队列原理_代码实现
- 《C++ Primer》7.3.4节练习
- C++vector容器-互换容器
- Most Unstable Array CodeForces - 1353A(数学+贪心+建设性算法)