题目链接: Fishing Master

大致题意:

湖里有n条鱼, 每钓一条鱼需要花费的时间为m(可以选择钓第几条鱼). 只能同时烹饪一条鱼, 烹饪第i条鱼所花费的时间至少为a[i], 可以在烹饪的期间去捕鱼. 问最少需要花费多少时间将n条鱼烹饪完毕.

解题思路:

贪心算法

最理想的情况下, 需要花费的时间res = m + 烹饪所有鱼的时间总和.

但是有的情况下, 我们并不能在烹饪每条鱼时都恰好能去钓鱼, 所以我们需要将有些鱼多烹饪一些时间, 去额外钓一些鱼. 我们要做的也就是去尽可能的减少额外花费的时间.

当我们烹饪第i条鱼时, 我们可以不花费任何额外的时间钓鱼的数目为a[i] / m, 剩余的时间则为a[i] % m, 我们可以统计是否我们可以不花费任何额外时间钓完所有鱼, 如果不可以, 则我们需要在剩余时间最多的鱼烹饪后多花去m - a[i] % m的时间.

AC代码:

#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
#define rep(i, n) for (int i = 1; i <= n; ++i)
const int N = 1E5 + 10;
int a[N];
int main()
{int t; cin >> t;while (t--) {vector<int> b; //放剩余时间int n, m; scanf("%d %d", &n, &m);ll res = m; int cou = 1; //起初我们至少要m的时间, 抓一条鱼rep(i, n) scanf("%d", &a[i]), res += a[i], cou += a[i] / m, b.push_back(a[i] % m);sort(b.begin(), b.end(), greater<int>());for (int i = 1; i <= n - cou; ++i) res += m - b[i - 1];cout << res << endl;}return 0;
}

洗手间, 永远滴神!

END

Fishing Master(贪心算法)相关推荐

  1. HDU 6709“Fishing Master”(贪心+优先级队列)

    传送门 •参考资料 2019CCPC网络选拔赛 H.Fishing Master(思维+贪心) •题意 池塘里有 n 条鱼,捕捉一条鱼需要花费固定的 k 时间: 你有一个锅,每次只能煮一条鱼,其中煮熟 ...

  2. 贪心算法简单实践 -- 分糖果、钱币找零、最多区间覆盖、哈夫曼编解码

    1. 贪心算法概览 贪心算法是一种算法思想.希望能够满足限制的情况下将期望值最大化.比如:Huffman编码,Dijkstra单源最短路径问题,Kruskal最小生成树 等问题都希望满足限制的情况下用 ...

  3. 野生前端的数据结构练习(12)贪心算法

    参考代码可见:https://github.com/dashnowords/blogs/tree/master/Structure/GreedyAlogrithm 一.贪心算法 贪心算法属于比较简单的 ...

  4. UVa11039 Building designing(贪心算法)

    问题:要求n层楼,相邻两层颜色不同(只有两种颜色),并且上面一层尺寸要小于下面一层.正负表示颜色,绝对值表示尺寸大小. 思路:采用贪心算法.从小到大排列,先在两端中选取绝对值大的,然后根据正负交替选择 ...

  5. 贪心算法--加油站问题

    一个汽车加满油后可以行使n千米,图中会经过一系列加油站,求到达最终加油的最少次数,给出每个加油站之间的距离. #include<stdio.h> #define n 7//n表示汽车加满油 ...

  6. 贪心算法--多处最优服务次序问题

    问题描述:        设有n 个顾客同时等待一项服务.每个顾客需要服务一定时间.共有s 处可以        提供此项服务.应如何安排n 个顾客的服务次序才能使平均等待时间达到最小?平均等待时   ...

  7. 《贪心算法》— NYOJ 贪心算法题目汇总(一)

    题目6 题目信息 运行结果 本题排行 讨论区 喷水装置(一) 时间限制:3000 ms  |  内存限制:65535 KB 难度:3 描述 现有一块草坪,长为20米,宽为2米,要在横中心线上放置半径为 ...

  8. 算法设计与分析(电子科技大学)(上)算法基础和贪心算法

    算法分析与设计 引论 (1)理解算法和程序的差别 (2)理解判断问题和优化问题这两类计算问题 1.理解指数增长的规模 2.理解渐进表达式 掌握渐进符号Ο.Θ.Ω的含义,能判断一个函数属于哪个渐近增长阶 ...

  9. 算法设计与分析第3章 贪心算法

    第4章 贪心算法 贪心算法总是作出在当前看来最好的选择.也就是说贪心算法并不从整体最优考虑,它所作出的选择只是在某种意义上的局部最优选择. 贪心算法的基本要素 1.贪心选择性质 所谓贪心选择性质是指所 ...

最新文章

  1. sklearn中的RandomForestClassifier参数详解
  2. python变量需要声明吗_python中可以声明变量类型吗
  3. 设计模式之Prototype(原型)(转)
  4. d3.js 简易柱形图,入门demo
  5. 学习Java第一个月
  6. 1250 Fibonacci数列(矩阵乘法快速幂)
  7. 【C++】关于随机函数与概率设置
  8. 【华为云技术分享】华为开发者大会HDC.Cloud带你探索强化学习三大挑战及落地实践
  9. pytorch clamp 与clamp_区别
  10. python nltk book_nltk book的下载
  11. 在线制作车牌效果图_价格低的防火板材行业专家在线为您服务
  12. Solidworks2022安装
  13. 黑客是怎么攻击网站的(网站渗透入侵全部教程)
  14. 微信消息实现自动推送--方式一 成功啦 进来学
  15. 计算机网络拓扑结构及其主要特点
  16. html图片自带闪光效果,CSS实现的一闪而过的图片闪光效果
  17. 劳动保障职业学院计算机专业,北京劳动保障职业学院2020录取分数线(附2017-2020年分数线)...
  18. Eclipse Console 乱码
  19. 计算机数控机床工作原理,数控机床的组成和工作原理概述(PDF 37页)
  20. 新大气模型有助宜居星球探索

热门文章

  1. 设置首页不出现页码的方法
  2. 【SpringSSM项目】搏击俱乐部 文章发布
  3. PMP- 五大过程组十大领域
  4. php简单年龄计算器案例
  5. 5-1.Binding的方向、数据更新和Path
  6. 现在商标注册为何越来越难?
  7. wangeditor富文本编辑器上传图片以及跨域问题解决
  8. 《代码大全2》第14章 组织直线型代码
  9. 微信拜年信息“大爆发”,真挚的祝福只剩下粘帖与群发
  10. 华为手机什么时候更新鸿蒙系统_华为什么时候用鸿蒙系统 鸿蒙OS上市时间与支持机型...