http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemCode=3778

题目

某人做菜很厉害,一分钟能同时完成最多m个菜的一道工序,输入菜的个数n和整数m,再输入每个菜的工序数,输出最短时间。

范围:

1 <= N, M <= 40000

1 <= Ai <= 40000

Sample Input

2
3 2
2 2 2
10 6
1 2 3 4 5 6 7 8 9 10

Sample Output

3
10

题解

贪心,策略是每次选择剩余工序最多的m个菜,选其他的结果肯定不会变好,时间复杂度$\mathcal{O}(n^2\log n)$绝对超时

比如:

发现可以把这张图分成两部分,就是足够一次完成m道工序的情况和不能一次完成m道工序的情况,能一次完成m道工序很简单,直接除法就好了,剩下不能一次完成m道工序的部分

这个只是中间状态,还有能完成m道工序的部分

一直到下面这种情况

然后就发现经过的时间就等于蓝色部分的高度(只算一道菜……),因为总是从蓝色部分开始往右选择工序

设答案为和除以m

有一个问题,就是如果不能整除怎么办,为什么不能整除

不能整除说明存在黄色部分,需要加这部分高度,即答案+1

剩下黄色部分就是不能一次完成m道工序的部分(按行),因此答案是蓝色部分高度加黄色部分的高度,因为黄色部分除以m肯定小于黄色部分的高度,因此和除以m一定小于最高高度,所以这个时候可以直接让答案为最高高度

AC代码

#include<cstdio>
#include<cstring>
#include<cmath>
#define REP(r,x,y) for(register int r=(x); r<(y); r++)
#define REPE(r,x,y) for(register int r=(x); r<=(y); r++)
#define PERE(r,x,y) for(register int r=(x); r>=(y); r--)
#ifdef sahdsg
#define DBG(...) printf(__VA_ARGS__), fflush(stdout)
#else
#define DBG(...) (void)0
#endif // sahdsg
using namespace std;
typedef long long LL;
inline int max(int a, int b) {
return a>b?a:b;
}
#define MAXN 30000007
typedef long long LL;
int main() {
int t; scanf("%d", &t);
while(0<t--) {
int n,m;
scanf("%d%d", &n, &m);
int maxx=-1;
LL sum=0;
REP(i,0,n) {
int k; scanf("%d", &k);
maxx = max(maxx,k);
sum+=k;
}
LL ans=sum/m;
if(sum%m) ans++;
if(ans<maxx) ans=maxx;
printf("%lld\n", ans);
}
}

ZOJ 3778 Talented Chief的更多相关文章

  1. ZOJ 3778 Talented Chef(找规律,模拟计算,11届ACM省赛,简单)

    题目链接 2014年浙江省赛C题,当时觉得难,现在想想这题真水.. 找规律: 若   最大的那个步骤数*m-总和>=0,那么答案就是 最大的那个步骤数 . 否则  就要另加上不够的数量,具体看代 ...

  2. zoj 3778 Talented Chef(思维题)

    题目 题意:一个人可以在一分钟同时进行m道菜的一个步骤,共有n道菜,每道菜各有xi个步骤,求做完的最短时间. 思路:一道很水的思维题, 根本不需要去 考虑模拟过程 以及先做那道菜(比赛的时候就是这么考 ...

  3. ZOJ 3778 Talented Chef

    题目链接 题意 : 这个人需要做n道菜,每道菜Ai步,他可以同时做M道不同的菜的其中一步,问你最少需要多少时间能做完所有的菜. 思路 : 这个题比赛的时候禁锢思路了,根本没想出来,就是当M > ...

  4. ZOJ 3778 Talented Chef 模拟 [ 祝愿明天省赛一帆风顺, ZJSU_Bloom WILL WIN : )

    这题的意思是给你 n 道菜,第 i 道菜需要 Ai 步才能完成 每次你能对 m 道菜分别完成一步,请问最少需要几次? 这题暴力写肯定是不行的,去年省赛的时候就是没写出来这题,今天再把思路理一理吧. 首 ...

  5. Talented Chef ZOJ - 3778

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

  6. ZOJ 3778 C - Talented Chef 水题

    LINK:http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemCode=3778 题意:有n道菜,每道菜需要\(a_i\)道工序,有m个锅可 ...

  7. ZOJ 3778:Talented Chef(贪心?思维)

    Talented Chef Time Limit: 2 Seconds Memory Limit: 65536 KB As we all know, Coach Gao is a talented c ...

  8. Zoj 3781(构造)

    Zoj 3781(构造) Zoj 3781 As we all know, Coach Gao is a talented chef, because he is able to cook M dis ...

  9. ZOJ People Counting

    第十三届浙江省大学生程序设计竞赛 I 题, 一道模拟题. ZOJ  3944http://www.icpc.moe/onlinejudge/showProblem.do?problemCode=394 ...

随机推荐

  1. alpine制作jdk、jre镜像、自定义镜像上传阿里云

    alpine制作jdk镜像 alpine Linux简介 1.Alpine Linux是一个轻型Linux发行版,它不同于通常的Linux发行版,Alpine采用了musl libc 和 BusyBo ...

  2. iOS---------金额转大写

    -(NSString *)digitUppercase:(NSString *)numstr{ double numberals=[numstr doubleValue]; NSArray *numb ...

  3. 【Beta阶段】第十二周Scrum会议

    [Beta阶段]第十二周Scrum会议 本次会议为第十二周第一次Scrum Meeting,会议对Beta阶段工作进行了总结,针对Beta阶段还未完成的问题进行了讨论. 会议时间为2019.12.3. ...

  4. 使用docker部署filebeat和logstash

    想用filebeat读取项目的日志,然后发送logstash.logstash官网有相关的教程,但是docker部署的教程都太简洁了.自己折腾了半天,踩了不少坑,总算是将logstash和filebe ...

  5. HDFS存入文件的整个流程

    本文结合HDFS的副本和分块从宏观上描述HDFS存入文件的整个流程.HDFS体系中包含Client.NameNode.DataNode.SeconderyNameode四个角色,其中Client是客户 ...

  6. RMAN异机恢复主要步骤和注意事项

    以后改行了或老了回头看看,我曾经会这些,也是件愉快的事 [备份]--创建目录[oracle@test20 backup]$ mkdir -p /home/oracle/backup--备份脚本[ora ...

  7. 《收获,不止SQL优化》这本书,有很多即用的脚本工具,或者根据自己的需求,改造重用,可以积累到自己的工具库中。

    以下两个脚本,官方来源: https://github.com/liangjingbin99/shouhuo/tree/master/%E7%AC%AC05%E7%AB%A0 1. 找出未使用绑定变量 ...

  8. 【问题篇四】启动报DataSource错误

    初建一个简单的spring boot 项目,启动后会报错:就是在项目启动的时候在 resource目录下没有加载到配置信息:如果项目只是想简单的启动运行,不进行数据库操作可以在 启动类上做如下处理便可 ...

  9. js中触发表单提交

    html代码: <form action="/test/action" method="get" id="myForm"> &l ...

  10. PowerMock学习(八)之Mock Argument Matcher的使用

    前言 本计划在上周六日将powermock学完,并同步到博客中,结果自己没经得住诱惑,又开始去打王者荣耀了.虽然两天时间我从钻石一升到了星耀V四星,但是我并没有觉得很开心,相反很失落呢.不得不说腾讯的 ...