首页 > 试题广场 >

华华给月月准备礼物

[编程题]华华给月月准备礼物
  • 热度指数:22 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 32M,其他语言64M
  • 算法知识视频讲解
二月中旬虐狗节前夕,华华决定给月月准备一份礼物。为了搭建礼物的底座,华华需要若干根同样长的木棍。华华手头上有一些长度参差不齐的木棍,他想将每根都裁剪成若干段自己想要的长度,并丢掉多余的部分。因为华华的手很巧,所以他的裁剪过程不会有任何的失误。也就是说,对于一根长度为N的木棍,华华可以精准的将它们裁剪为若干段木棍,使它们的长度之和为N。
华华不知道裁剪成多长比较好,所以干脆越长越好。不过由于华华有点强迫症,所以他希望长度为非负整数。保证所有木棍的原长也是非负整数。那么请问华华最终得到的每根木棍多长呢?

输入描述:
第一行两个正整数N、K,表示木棍原本的根数和华华希望得到的木棍根数。
第二行N个正整数L_i表示每根木棍的初始长度。


输出描述:
输出一行一个非负整数,表示华华最终得到的n根木棍的每根最大长度。
示例1

输入

5 10
4 4 4 5 3

输出

1

说明

如果长度为2,只能得到2+2+2+2+1=9根,不够;长度为1可以得到4+4+4+5+3=20根,足够。所以答案最大是1。 
示例2

输入

5 3
1 2 3 4 5

输出

3

备注:
头像 sunrise__sunrise
发表于 2020-04-16 16:51:23
华华给月月准备礼物 Solution 根据题目大意,很快可以发现,如果我们枚举一个 ,可以在这个 情况下求到 根木棍,我们就希望能不能再求更大的 ;否则,可行解一定比当前ans更小。符合单调特性,采取二分的思路。 再说说我对二分的心得二分大致可以分为两种思路,范围缩小让 逼近答案 while (l 展开全文
头像 肖战公关团队
发表于 2020-04-23 17:30:08
Solution 看完题目就能想到这个题也许可以二分答案。 但是需要知道这个题目的答案可不可以满足单调性。即对于所有满足条件,则也满足条件。 很显然这是满足单调性的,如果满足条件,即 那么对于而言,显然有 那么这个题就可以二分答案了。 还有一个点是答案可能会到。于是二分范围直接是区间即可。 本题ch 展开全文
头像 shyyhs
发表于 2021-01-13 15:49:38
前言: 真就一眼题. 思路: 二分即可. 代码: #include <bit.stdc++.h> using namespace std; const int N=2e5+50; int w[N],n,m; bool check(int len) { int sum=0; 展开全文
头像 一只橘橘猫
发表于 2020-04-16 12:34:19
题意: 解法: :POJ 3273-Monthly Expense :POJ 3122-Pie 时间复杂度: std: #include <bits/stdc++.h> using namespace std; #define ll long long const int maxn 展开全文
头像 ziuch
发表于 2020-08-24 15:39:21
题目描述 二月中旬虐狗节前夕,华华决定给月月准备一份礼物。为了搭建礼物的底座,华华需要若干根同样长的木棍。华华手头上有一些长度参差不齐的木棍,他想将每根都裁剪成若干段自己想要的长度,并丢掉多余的部分。因为华华的手很巧,所以他的裁剪过程不会有任何的失误。也就是说,对于一根长度 展开全文
头像 Kur1su
发表于 2020-04-16 11:23:29
Solution 分析一下题目, 这道题我们首先分析能不能二分二分的条件是满足单调性 和 check答案比较简单这道题目我们可以二分长度, 显然是满足单调性的每次二分木棍的长度mid, 然后对每个a[i] 都能得到 a[i] / mid 个需要的木棍我们check一下能不能得到超过k个所需木棍直接统 展开全文
头像 潘小蓝
发表于 2020-04-16 15:46:07
题目: 考察点: 二分--假设某个值存在。侃侃: 这道题可以说是二分中的一道模板题,我们先假设某个值成立,然后带入到已知条件中,判断当前值 是否满足所有的条件,若满足条件,看是否是最优的,如果不是最优的(还有更优的),就进一步缩小 范围,直到找到一个最优的值。Code: #include < 展开全文
头像 19_hanhan
发表于 2020-04-16 20:26:03
题目 题目描述: 二月中旬虐狗节前夕,华华决定给月月准备一份礼物。为了搭建礼物的底座,华华需要若干根同样长的木棍。华华手头上有一些长度参差不齐的木棍,他想将每根都裁剪成若干段自己想要的长度,并丢掉多余的部分。因为华华的手很巧,所以他的裁剪过程不会有任何的失误。也就是说,对于一根长 展开全文
头像 heartのc
发表于 2020-04-16 23:38:51
传送门 题意 更定n段长度为的木棍,问若把他们分成k个相同长度的,最大长度是多少 tags 二分分析 可以对长度进行二分。二分下届为1,上界为max(a[i])。用贪心的方法经行检查。每个对于答案的贡献是。所以若说明mid的取值大了可以减少,否则需要增大。check函数复杂度:,总复杂度:参考 展开全文
头像 与人无语
发表于 2020-04-21 14:37:01
经典二分 (之前想错了 不过这两个地方应该可以加速) #include <bits/stdc++.h> #define ll long long using namespace std; ll const maxn=2e5+5; ll n,k,a[maxn],ans,maxl,l,r,m 展开全文