题目描述
二月中旬虐狗节前夕,华华决定给月月准备一份礼物。为了搭建礼物的底座,华华需要若干根同样长的木棍。华华手头上有一些长度参差不齐的木棍,他想将每根都裁剪成若干段自己想要的长度,并丢掉多余的部分。因为华华的手很巧,所以他的裁剪过程不会有任何的失误。也就是说,对于一根长度为N的木棍,华华可以精准的将它们裁剪为若干段木棍,使它们的长度之和为N。
华华不知道裁剪成多长比较好,所以干脆越长越好。不过由于华华有点强迫症,所以他希望长度为非负整数。保证所有木棍的原长也是非负整数。那么请问华华最终得到的每根木棍多长呢?
输入描述:
第一行两个正整数N、K,表示木棍原本的根数和华华希望得到的木棍根数。
第二行N个正整数L_iL
i

表示每根木棍的初始长度。
输出描述:
输出一行一个非负整数表示每根木棍的最大长度。
示例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

emem怎么说,一开始一个个试的,时间没能通过标准,还是二分查找快啊!!!
第一个代码是一个一个试出来的

import java.util.Scanner;
import java.util.*;
public class present {public static void main(String[] args) {Scanner src=new Scanner(System.in);int n=src.nextInt();int k=src.nextInt();int[] a=new int[n];for(int i=0;i<n;i++) {a[i]=src.nextInt();}Arrays.sort(a);if(n>=k)System.out.println(a[a.length-k]);else {int i=0;int ans;do {++i;ans=0;for(int j=0;j<a.length;j++) {ans+=a[j]/i; }}while(ans>=k);System.out.println(i-1);}}
}

二分查找


import java.util.*;
public class Main {public static void main(String[] args) {Scanner src=new Scanner(System.in);int n=src.nextInt();int k=src.nextInt();int[] a=new int[n];for(int i=0;i<n;i++) {a[i]=src.nextInt();}Arrays.sort(a);if(n>=k)System.out.println(a[a.length-k]);else {int min=1;int max=a[a.length-1];int ans;while(min<=max){int mid=(min+max)/2;ans=0;for(int j=0;j<a.length;j++) {ans+=a[j]/mid; }if(ans>=k){min=mid+1;}elsemax=mid-1;}System.out.println(max);}}
}

二分查找 怎么先设最小值为1,再二分查找


import java.util.*;
public class Main {public static void main(String[] args) {Scanner src=new Scanner(System.in);int n=src.nextInt();int k=src.nextInt();int[] a=new int[n];for(int i=0;i<n;i++) {a[i]=src.nextInt();}Arrays.sort(a);if(n>=k)System.out.println(a[a.length-k]);else {int min=1;int max=a[a.length-1];int ans;while(min<=max){int mid=(min+max)/2;ans=0;for(int j=0;j<a.length;j++) {ans+=a[j]/mid; }if(ans>=k){min=mid+1;}elsemax=mid-1;}System.out.println(max);}}
}

二分查找之华华给月月准备礼物相关推荐

  1. 运用二分加验证解决 华华给月月准备礼物

    链接:登录-专业IT笔试面试备考平台_牛客网 来源:牛客网 题目描述 二月中旬虐狗节前夕,华华决定给月月准备一份礼物.为了搭建礼物的底座,华华需要若干根同样长的木棍.华华手头上有一些长度参差不齐的木棍 ...

  2. 华华给月月准备礼物(牛客4.17 二分)

    华华给月月准备礼物 题目链接 题目描述 二月中旬虐狗节前夕,华华决定给月月准备一份礼物.为了搭建礼物的底座,华华需要若干根同样长的木棍.华华手头上有一些长度参差不齐的木棍,他想将每根都裁剪成若干段自己 ...

  3. 【华华给月月准备礼物——二分】

    华华给月月准备礼物 链接:https://ac.nowcoder.com/acm/problem/23049 来源:牛客网 文章目录 华华给月月准备礼物 题目描述 示例1 示例2 输出描述: C语言代 ...

  4. 华华给月月准备礼物(二分)

    链接:https://ac.nowcoder.com/acm/problem/23049 来源:牛客网 题目描述 二月中旬虐狗节前夕,华华决定给月月准备一份礼物.为了搭建礼物的底座,华华需要若干根同样 ...

  5. 牛客练习赛46 B 华华送奕奕小礼物 (预处理前缀和,二分)

    链接:https://ac.nowcoder.com/acm/contest/894/B?&headNav=acm 来源:牛客网 华华送奕奕小礼物 时间限制:C/C++ 1秒,其他语言2秒 空 ...

  6. 牛客网【每日一题】4月17日题目精讲 华华给月月准备礼物

    文章目录 题目描述 题解: 代码: 推荐例题: 试题链接 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 32768K,其他语言65536K 64bit IO Format: %lld ...

  7. 华华给月月的礼物(二分法)

    题目链接:F-华华给月月准备礼物_2021秋季算法入门班第三章习题:二分.三分.01 (nowcoder.com) 事先声明一下,这题本人的答案结果超时了,所以这里仅供读者当练习使用,文章如有不当之处 ...

  8. 刷题记录:牛客NC23049华华给月月准备礼物

    传送门:牛客 题目描述: 二月中旬虐狗节前夕,华华决定给月月准备一份礼物.为了搭建礼物的底座,华华需要若干根同样长的木棍.华华手头上有一些长度参差不齐的木棍,他想将每根都裁剪成若干段自己想要的长度,并 ...

  9. 牛客小白月赛12 D 月月给华华出题 (欧拉函数,数论,线筛)

    链接:https://ac.nowcoder.com/acm/contest/392/D 来源:牛客网 月月给华华出题 时间限制:C/C++ 2秒,其他语言4秒 空间限制:C/C++ 131072K, ...

  10. 牛客小白月赛12 C 华华给月月出题 (积性函数,线性筛)

    链接:https://ac.nowcoder.com/acm/contest/392/C 来源:牛客网 华华给月月出题 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 131072K, ...

最新文章

  1. 扩增子统计绘图5火山图:差异OTU数量及变化规律
  2. php数组操作之合并相同键名的值,排序,排重,去空值等
  3. 86.git使用 建立和克隆远程仓库
  4. 获取上传图片路径方法(新旧方法)
  5. 保姆式参赛教程全公开,居然还送10万奖金?
  6. Spring相关API-getBean()方法的使用
  7. SqlServer SqlBulkCopy批量插入 -- 多张表同时插入(事务)
  8. 什么是类加载器,类加载器有哪些?
  9. linux 报错:telnet Connection closed by foreign host
  10. HDOJ 1286 HDU 1286 找新朋友 ACM 1286 IN HDU
  11. oracle 制定定时任务
  12. PHP curl请求https
  13. 用c#转换word或excel文档为html文件,C#实现DataSet内数据转化为Excel和Word文件的通用类完整实例...
  14. 模拟游戏--鸭子的种类
  15. IDEA Git缓慢
  16. SQLI DUMB SERIES-6
  17. memcached使用总结篇一
  18. 点云分割训练哪家强?监督,弱监督,无监督还是半监督?
  19. 软考:头脑风暴与德尔菲法的区别(转)
  20. 单点登录 Ucenter 分析

热门文章

  1. 躺在赚钱“风口”的汽车芯片,背后却是“五味杂陈”
  2. openmap_OpenMap教程3 –使用MapHandler构建基本的地图应用程序–第2部分
  3. 《机器学习实战Machine_Learning_in_Action》 CH08-回归分析(上)
  4. matlab 时间坐标轴,科学网-matlab作图——横坐标为时间轴的二维图-李娜娜的博文...
  5. 最优化:建模、算法与理论(典型优化问题
  6. 2021年Java岗位BAT大厂面试题知识点小结,看完必懂
  7. mysql lsn_Mysql之LSN和checkpoint和double write
  8. 2021常用软件及在线工具清单
  9. 60GHz高速通信系统设计—FPGA方案Vs 802.11ad WiGig SoC solutions
  10. LwIP 之七 详解 PBUF 结构、通信数据流、性能优化