题意:

要做n道菜,每道菜有a[i]个步骤,厨师每次可以操作m个步骤,求最小需要几次把菜做完。

要点:

就是小学搞过的摊饼问题,一个饼要几分钟这样。可以这样思考:如果m>=n,那肯定就是所有a[i]中的最大值max作为结果。如果m<n,那我们先求ans=sum/m,也就是平均值,结果只会比这个值大而不会比这个值更小了,如果sum%m==0,说明最后一次也能同时操作m个菜,ans=sum/m,否则说明最后一次还剩下一些为1的(中间无论怎么操作最后肯定使其他的可以剩下1,仔细想想就可以看出来),ans=sum/m+1。得到ans后与max比较,如果ans<max,那不可能通过ans次操作使max为0,结果为max,反之为ans。

贪心思想:贪心的将每一分钟的操作都不浪费的去做菜就能达到最贪心的点,也就是最小消耗。那么这个时候的最小消耗就是:sum/m(如果是整除)sum/m+1(如果是不整除)。

参考博客:点击打开链接

#include<stdio.h>
#include<string.h>
#include<stdlib.h>
#include<algorithm>
using namespace std;int main()
{int t,n,m;int a[40005];scanf("%d", &t);while (t--){scanf("%d%d", &n, &m);int sum = 0;int maxx = -1;for (int i = 0; i < n; i++){scanf("%d", &a[i]);sum += a[i];maxx = max(maxx, a[i]);}int ans;                //贪心思想,充分利用每次操作能达到最小的操作数if (sum%m == 0)        ans = sum / m;elseans = sum / m + 1; //不能整除说明最后还剩一些需要再一步操作ans = max(maxx, ans); //如果贪心不能达到最大值,那结果就是最大值,反之说明贪心成立printf("%d\n", ans);}return 0;
}

转载于:https://www.cnblogs.com/seasonal/p/10343757.html

ZOJ3778 Talented Chef(贪心)相关推荐

  1. 【ZOJ - 3778】Talented Chef(贪心)

    题干: As we all know, Coach Gao is a talented chef, because he is able to cook M dishes in the same ti ...

  2. 考研英语 - word-list-28

    每天十个单词,本博客收集整理自<考研英语词汇>,仅供学习和个人积累. 新东方单词在线阅读地址 ,希望这个链接一直都有效 :) 2017年06月28日 21:37:29 medieval 词 ...

  3. The 11th Zhejiang Provincial Collegiate Programming Contest

    Problem Arrangement(状态压缩+递推) http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemCode=3777 题意:输入 ...

  4. The Cook and the Chef: Musk’s Secret Sauce

    source: http://waitbutwhy.com/2015/11/the-cook-and-the-chef-musks-secret-sauce.html The Cook and the ...

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

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

  6. 贪心算法单源点最短路径例题c语言源代码,Dijkstra算法是解单源最短路径问题的一个贪心算法...

    问题描述 给定一个带权有向图 G=(V,E) ,其中每条边的权是一个非负实数. 另外,还给定 V 中的一个项点,称为源. 现在我们要计算从源到所有其他各项点的最短路径长度. 这里的长度是指路上各边权之 ...

  7. Too Many Segments CF595D 贪心乱搞

    传送门! 比赛的时候没有时间写了,看看了看大佬的代码,学习学习. 一开始实验室大佬说是用差分写的,但是看了代码发现打cf的人大家都是stl狂魔! 贪心思路:区间按照左端点排序,从1~2e5遍历每一个点 ...

  8. Roundgod and Milk Tea 贪心

    这个题好像可以用一种类似与置换的贪心方法来做~ sum记为剩余奶茶,一开始sum等于奶茶和 ans记录已经喝的奶茶数 不用排序,我们就从前往后直接处理,考虑的是每一个班最多可以喝多少杯奶茶 就是从剩余 ...

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

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

  10. 贪心:expedition 最优加油方法

    已知一条公路上,有一个起点与一个终点,这之间有n个加油站;已知从这n个加 油站到终点的距离d与各个加油站可以加油的量l,起点位置至终点的距离L与起 始时刻油箱中汽油量P;假设使用1个单位的汽油即走1个 ...

最新文章

  1. 一分钟AI | 腾讯市值超5000亿美元创亚洲最高!CV杀红脸了:AI国家队云从科技完成25亿B轮融资
  2. 深度剖析云计算背后采用的具体技术
  3. PowerDesigner中如何给字符串字段设置默认值 .
  4. abbyy在使用时提示更改分辨率如何处理
  5. 如果你的船不进来,就游出去迎接它 乔纳森温特斯
  6. 使用NoSQL实施实体服务–第5部分:使用云提高自治性
  7. SQL预编译防注入小测试
  8. openssl 1.1.1编译语句
  9. ticket进行urlencode是什么意思_request请求中进行url转码,结果意想不到,python爬虫(2)...
  10. 通信服务器系统安装,pxe网络安装操作系统
  11. ibernate 配置数据库方言
  12. 《Java并发编程的艺术》第3章 Java内存模型
  13. [Python + PyQt5] 均匀平面波的入射、反射及透射的仿真实验
  14. dism++封装系统使用教程_【原创】最新WIN10系统封装教程2019系列(一)——定制母盘...
  15. 复杂网络matlab程序,复杂网络matlab程序
  16. 分区桌面 壁纸(正在做,常用,之后在做,临时存)
  17. SpreadJS 15.1 CN 与 SpreadJS 15.1 EN
  18. 有没有什么免费的网页视频录制软件?PC端视频录制软件集合
  19. 基于java的房屋出租管理系统
  20. 读书笔记-《墨菲定律》

热门文章

  1. 利用DELL的OMSA监控服务器的温度
  2. 百度js选择器fox
  3. 点击IE窗口上方的“X关闭符号”,弹出提示窗口!
  4. javafx实现读者文摘上的文章预览及下载
  5. 前端测试框架Jest系列教程 -- 简介
  6. ColorPic 一套簡單好用的顏色選擇器!
  7. SVN入门 TortoiseSVN 检出
  8. javascript实现浏览器窗口传递参数
  9. 1661Help Jimmy
  10. Essential Booklist of .Net Framework