(今日头条面试题)剪绳子(二分带详细思路)

2023-11-06

有N根绳子,第i根绳子长度为Li,现在需要M根等长的绳子,你可以对N根绳子进行任意裁剪(不能拼接),请你帮忙计算出这M根绳子最长的长度是多少。

输入格式
第一行包含2个正整数N、M,表示原始绳子的数量和需求绳子的数量。

第二行包含N个整数,其中第 i 个整数LiLi表示第 i 根绳子的长度。

输出格式
输出一个数字,表示裁剪后最长的长度,保留两位小数。

数据范围
1≤N,M≤100000
0<Li<109次方
输入样例:
3 4
3 5 4
输出样例:
2.50
样例解释
第一根和第三根分别裁剪出一根2.50长度的绳子,第二根剪成22.50长度的
绳子,刚好4根。
思路:首先直接做不好做,那么想想暴力,确定绳子长度那么总共切几块就知道了!
将绳子长度从大到小枚举,第一个满足能切m条的就是满足条件的最大长度即可

然后优化,就是发现他有单调性,可以用二分,比如 如果一个长度
切出来大于等于m条,那么比这个长度小的都满足,在这个长度到右边界找答案
#include<bits/stdc++.h>
using namespace std;
const int N=100010;
int a[N];
int n,m;
int get(double x){//注意精度
    int sum=0;
    for(int i=0;i<n;i++){
        sum+=a[i]/x;
    }
    return sum;
}
int main(){
    cin>>n>>m;
    int maxn=-1;
    for(int i=0;i<n;i++){
        scanf("%d",&a[i]);
        if(a[i]>maxn){
            maxn=a[i];
        }
    }
    double l=0,r=maxn;
    while(r-l>1e-6){
        double mid=(l+r)/2;
        if(get(mid)>=m)l=mid;
        else r=mid;
    }
    printf("%.2f",l);
    return 0;
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

(今日头条面试题)剪绳子(二分带详细思路) 的相关文章

  • P1102 A-B 数对

    include
  • 二分

    林大oj981 vd的电话簿 table width 100 border 0 tbody tr style height 1 td h1 style color rgb 0 51 255 description h1 td tr tr s
  • 洛谷借教室

    之前写过 再过一遍其实不会 题目描述 在大学期间 经常需要租借教室 大到院系举办活动 小到学习小组自习讨论 都需要向学校申请借教室 教室的大小功能不同 借教室人的身份不同 借教室的手续也不一样 面对海量租借教室的信息 我们自然希望编程解决这
  • 包裹快递

    包裹快递 背景 小K成功地破解了密文 但是乘车到X国的时候 发现钱包被偷了 于是无奈之下只好作快递员来攒足路费去Orz教主 描述 一个快递公司要将n个包裹分别送到n个地方 并分配给邮递员小K一个事先设定好的路线 小K需要开车按照路线给的地点
  • 【LeetCode】二分法总结

    二分法总结 二分模板 找第一个大于等于target的 找第一个大于target的 33 搜索旋转排序数组 34 在排序数组中查找元素的第一个和最后一个位置 木头切割 二分模板 满足条件就写l mid 或 r mid 找第一个大于等于targ
  • A--玉米大炮--2022河南萌新联赛第(三)场:河南大学

    输入 3 3 1 1 2 2 3 3 输出 0 说明 开始时 小蓝控制所有大炮立即发射炮弹 僵王博士受到 666 点伤害 直接被击溃 示例2 输入 2 20 5 1 5 3 输出 2 说明 开始时 小蓝控制所有大炮立即发射炮弹 僵王博士受到
  • 二分的经典问题 最大化最小值和最小化最大值

    有点长 可以选自己想看的部分看 不过建议把刚开始的介绍看完 不多说 先来一个在升序无重复元素的数组中二分搜索的板子 l r 2 mid可能会爆int这种细节问题我们就放一边 int a MAX int Binary Search int v
  • Pie POJ - 3122【贪心、二分】

    该题连接 这是一道英文题 所以这里就不放原题了 我写一下它的题意 主人要开一个party 而主人有N个派 他要宴请F个人 也就是要有F 1个人要吃派 但这些人又很挑剔 他们每个人吃派只吃一种派 并且还不能容忍其他人吃的派比自己多 所以这就是
  • p1m2(二分)

    题目 2018百度之星 http acm hdu edu cn showproblem php pid 6383 二分 操作次数满足有序性 用二分 代码 include
  • 洛谷 P2249 【深基13.例1】查找

    题目链接 https www luogu com cn problem P2249 include
  • NYOJ 586 疯牛 & POJ 2456(二分搜索 + 贪心)

    疯牛 时间限制 1000 ms 内存限制 65535 KB 难度 4 描述 农夫 John 建造了一座很长的畜栏 它包括N 2 lt N lt 100 000 个隔间 这些小隔间依次编号为x1 xN 0 lt xi lt 1 000 000
  • (今日头条面试题)剪绳子(二分带详细思路)

    有N根绳子 第i根绳子长度为Li 现在需要M根等长的绳子 你可以对N根绳子进行任意裁剪 不能拼接 请你帮忙计算出这M根绳子最长的长度是多少 输入格式 第一行包含2个正整数N M 表示原始绳子的数量和需求绳子的数量 第二行包含N个整数 其中第
  • 剑指 Offer 53 - I. 在排序数组中查找数字 I

    题目链接 53 I 在排序数组中查找数字 I 思路分析 利用二分查找即可 class Solution public int search vector
  • 学算法,先从二分查找开始吧

    总纲 思路很简单 细节是魔鬼 分为三个常用场景 寻找一个数 寻找左侧边界 寻找右侧边界 最后给出力扣上的题目例子 还可以在GitHub上观看哦 AlgorithmNotes 基础框架 int binarySearch int nums in
  • Can you solve this equation?(二分)

    Problem Description Now given the equation 8 x 4 7 x 3 2 x 2 3 x 6 Y can you find its solution between 0 and 100 Now ple
  • 【模板】二分

    文章目录 1 整数二分 1 1 寻找 x 或 x 的后继 1 2 寻找 x 或 x 的前驱 1 3 模板 1 4 解题步骤 2 实数二分 本文的二分模板来自 算法竞赛进阶指南 1 整数二分 对于整数域上的二分 需要注意终止边界 左右区间取舍
  • 洛谷P1182-数列分段(详解)

    题目 给定一个长度为n的数列A 要求将它分为m段 要求每段连续 且每段和的最大值最小 N lt 10e5 m lt n Ai之和不超过10e9 这题一看就知道我不会 所以很老实的去看了看题解 题解也真是避重就轻 重要的地方就说 这个要自己思
  • 信息学奥赛一本通 1240:查找最接近的元素

    题目链接 http ybt ssoier cn 8088 problem show php pid 1240 include
  • 贪心+二分解决最大值最小、最小值最大问题

    在刷题时 总会遇到求最大值最小 最小值最大问题 也许它会暗喻是这样的一个问题 对于这样的一个问题 你会发现用dp和枚举都会超时超内存 或者说很麻烦 所以这是一个比较简单的解题方式 二分逼近思想 对于难以直接确定解的问题 采取二分枚举 检验的
  • Min Difference 二分优化

    题目链接 暴力的时间复杂度是O n 2 n 2 n2 只能在查询的时候优化一下 可以手写一个左闭右开的二分 也可以使用库函数 l

随机推荐

  • kubernetes 1.27.3 集群部署方案

    一 准备环境 1 1 Kubernetes 1 27 3 版本集群部署环境准备 1 1 1 主机硬件配置说明 cpu 内存 硬盘 角色 主机名 系统版本 8C 8G 1024GB master master01 centos 7 9 8C
  • C++STL(5)常用容器介绍(四)list、set、map容器

    1 list 概 述 链表是一种物理存储单元上非连续 非顺序的存储结构 数据元素的逻辑顺序是通过链表中的指针链接次序实现的 链表由一系列结点 链表中每一个元素称为结点 组成 结点可以在运行时动态生成 每个结点包括两个部分 一个是存储数据元素
  • jenkins学习笔记第二篇全局工具配置与结点配置

    1 1jenkins 全局工具配置 maven配置 JDK配置 Ant配置 本地安装的有ANt1 9 配置ANt可以实现后面的 jmeter Ant的自动化接口测试 生成自动化测试报告 Git配置 在配置结点时 先配置全局安全性 Confi
  • php 请求chatgpt3.5 非stream流输出模式代码用于批量发布文章

    以下是模板兔用php写的请求chatgpt3 5 非流输出模式 不是打字特效 的代码示例 这种非流模式一般用于批量生产文章 通过chatgpt你可以大量生产伪原创文章 提供网站收录 近期我们会增加一个wordpress通过GPT批量发布文章
  • 一零六九、MySQL回顾总结

    索引下推 在联合查询的过程中 根据联合索引包含字段直接过滤掉不满足的记录 减少回表次数 能用索引就用索引 覆盖索引 查询字段包含了索引的全部字段聚集索引 将常用的字段作为主键或聚集索引 undolog redolog binlog的区别和联
  • sd和sem啥区别_Mean ± SEM or Mean(SD) 区别

    1 The common descriptive statistics is mean and standard deviation SD SD 平均值和标准偏差 Data not following the normal distribu
  • linux上如何删除文件名乱码的文件

    今天在服务上发现了两个文件名是乱码的文件 如图所示 于是想用rm命令把它们删掉 但提示没有此文件 网上搜了一下 找到解决方法 首先执行ls i命令 此时在文件前面会出现一个数字 这个数字是文件的节点号 接着 执行命令 find inum 节
  • 关于质量,大家都在关注什么?

    转自 ThoughtWorks中国 去年 我们在 数字化时代的软件测试 中看到了2017年软件质量方面的趋势和给测试人员的建议 又一年过去了 大家对软件质量保障和测试的关注有哪些变化呢 我们一起来看看这份质量报告 World Quality
  • minio中的安装启动地址问题

    安装 把包扔进去 赋予权限 chmod x minio 创建一个data目录 address和 console address是MinIO服务器启动命令中的两个参数 它们具有以下区别 address参数 用于指定MinIO服务器监听的S3
  • [转] 新手学Linux:在VMware14中安装CentOS7详细教程及经验

    转自 https blog csdn net yiyihuazi article details 78557216 这里说下自己遇到一个坑 1 如果在公司内部 虚拟机上网可能 需要设置代理 方法如下 在文件后面加上 http proxy h
  • graphics.h图形库:基本概念(2)——坐标

    文章目录 1 物理坐标 2 逻辑坐标 在 EasyX 中 坐标分两种 物理坐标和逻辑坐标 1 物理坐标 物理坐标是描述设备的坐标体系 坐标原点在设备的左上角 X 轴向右为正 Y 轴向下为正 度量单位是像素 坐标原点 坐标轴方向 缩放比例都不
  • java中讲讲FileWriter的用法

    java中讲讲FileWriter的用法 FileWriter的用法 马克 to win 马克 java社区 防盗版实名手机尾号 73203 FileWriter是Writer的继承类 从字面上就可看出 它的主要功能就是能向磁盘上写文件 w
  • 鬼泣4refrain 《鬼泣4 refrain》图文全攻略(iphone版)

    本篇文章由 泉州SEO www 234yp com 整理发布 转载请注明原文地址 www 234yp com Article 147467 html 谢谢合作 鬼泣4refrain 您可能感兴趣的话题 鬼泣4 核心提示 鬼泣4 是 鬼泣 系
  • ADworld_level_2

    以下是adworld里endust师傅的wp checksec扫描 使用ida打开可以发现 初始的buf的空间只有0x88 但是读取我们输入的内容的时候 选择的大小却是0x100 造成了溢出 通过这些 我们直接构建exp from pwn
  • HTTP Status 500 - An exception occurred processing JSP page 我真的看不出来

    1 2 7 8
  • RDBMS(关系型数据库)BLOB类型字段存储图片迁移问题完美解决方案

    目录 1 问题描述 2 问题查找 3 解决方法 1 表输入 2 执行SQL语句修改 1 问题描述 项目在RDBMS 关系型数据库 的mysql中使用BLOB类型字段存储了图片 由于需求问题 需要迁移图片到另外的一个RDBMS 关系型数据库
  • vue3的computed.ts

    vue3的computed ts import effect from effect class ComputedRefImpl public dirty true public value public effect constructo
  • 【大规模 MIMO 检测】基于ADMM的大型MU-MIMO无穷大范数检测研究(Matlab代码实现)

    欢迎来到本博客 博主优势 博客内容尽量做到思维缜密 逻辑清晰 为了方便读者 座右铭 行百里者 半于九十 本文目录如下 目录 1 概述 2 运行结果 3 参考文献 4 Matlab代码实现 1 概述 文献来源 针对大型多用户 MU 多输入多输
  • 文字加减前后缀lisp_华为笔试题---仿LISP算法

    直接上代码 水平有限 欢迎小伙伴们指正 暂不知效率如何 import java util Scanner import java util Stack 仿LISP字符串运算 LISP语言唯一的语法就是括号要配对 形如 OP P1 P2 括号
  • (今日头条面试题)剪绳子(二分带详细思路)

    有N根绳子 第i根绳子长度为Li 现在需要M根等长的绳子 你可以对N根绳子进行任意裁剪 不能拼接 请你帮忙计算出这M根绳子最长的长度是多少 输入格式 第一行包含2个正整数N M 表示原始绳子的数量和需求绳子的数量 第二行包含N个整数 其中第