题目描述:

有 n 条绳子,它们的长度分别为 Li,如果从它们中切割出 m 条长度相同的绳子,这 m 条绳子每条最长能有多长?

输入格式:

第一行两个整数 n和 m。

接下来 n行,每行一个实数,描述了每条绳子的长度 Li。

数据范围:1<=n<m<=10000;1<=Li<=100000.

输出格式:

切割后每条绳子的最大长度,保留 6位小数。

实例:

输入:

4 11
8.02
7.43
4.57
5.39

输出:

2.00

解题思路:

从n条绳子里切割,最长切割出来也应该是n条中最长的那个max,所以根据二分的思想,切割后每条绳子的左右边界分别是0,max。然后根据这个先取一个假定的mid,在区间里找到能满足切割条数为m的最大长度。

参考代码:

#include<iostream>
#include<algorithm>
using namespace std;
const int N = 1001;
double a[N];
int n, m;
double ans;
int check(int k)
{int count = 0;for(int i=0;i<n;i++){count += a[i] / k;//这个绳长可以得到几个}if (count>=m)//如果可以达到需求return 1;elsereturn 0;
}
int main()
{cin >> n >> m;for (int i = 0; i < n; i++){double t;cin >> t;a[i] = 100 * t;//将绳长都变成整数值,结果除以100.0即可}sort(a, a + n);int l = 0, r = a[n-1];//右边界为绳长最长的那一根绳子,这样如果他只要一根最长的满足即可while(l<=r){int mid = (l + r) / 2;//猜测的切绳子长度if (check(mid)){//ans = mid;l = mid + 1;//说明绳长可以再加,在区间右侧}elser = mid - 1;//说明绳太长,不能满足需求量}printf("%.6lf", r/100.0);return 0;
}

二分——切绳子(C++)相关推荐

  1. 切绳子(含五种二分做法)

    题目来自洛谷 P1577 切绳子 题目描述 有 N 条绳子,它们的长度分别为 Li​.如果从它们中切割出 K 条长度相同的绳子,这 K 条绳子每条最长能有多长?答案保留到小数点后 2 位(直接舍掉 2 ...

  2. 切绳子【洛谷P1577】【二分】

    切绳子[洛谷P1577][二分] 文章目录 切绳子[洛谷`P1577`][二分] 题目描述 输入格式 输出格式 输入 输出 代码 题目描述 有 N 条绳子,它们的长度分别为 Li.如果从它们中切割出 ...

  3. 题解报告:P1577 切绳子(二分答案)

    飞机票 P1577 切绳子 题意:有 N条绳子,它们的长度分别为 Li .如果从它们中切割出 KK 条长度相同的绳子,这 KK 条绳子每条最长能有多长?答案保留到小数点后 2 位(直接舍掉 2 位后的 ...

  4. 切绳子(二分,c语言)

    有 n条绳子,它们的长度分别为 Li,如果从它们中切割出 m 条长度相同的绳子,这 m 条绳子每条最长能有多长? 输入格式 第一行两个整数 n和 m. 接下来 n 行,每行一个实数,描述了每条绳子的长 ...

  5. 切绳子题解(博客搬家)

    题目 题目描述 有N条绳子,它们的长度分别为Li.如果从它们中切割出K条长度相同的绳子,这K条绳子每条最长能有多长? 答案保留到小数点后2位(直接舍掉2为后的小数). 输入 第一行两个整数N和K,接下 ...

  6. E - 切绳子(二分)

    有 n条绳子,它们的长度分别为 Li​,如果从它们中切割出 mm 条长度相同的绳子,这 m 条绳子每条最长能有多长? 输入格式 第一行两个整数 n 和 m. 接下来 nn 行,每行一个实数,描述了每条 ...

  7. P1577切绳子问题

    题目描述 有 NN 条绳子,它们的长度分别为 L_iLi​.如果从它们中切割出 KK 条长度相同的绳子,这 KK 条绳子每条最长能有多长?答案保留到小数点后 2 位(直接舍掉 2 位后的小数). 输入 ...

  8. //众神云集、群魔乱舞、以一抵百、砥砺前行//P1577 切绳子

    题目描述 题目描述 有 N 条绳子,它们的长度分别为 Li.如果从它们中切割出 K 条长度相同的绳子,这 K 条绳子每条最长能有多长?答案保留到小数点后 2 位(直接舍掉 2 位后的小数). 输入格式 ...

  9. 带你一起分析cut the rope(切绳子游戏)中绳子的制作方法

     因为是要模拟物理效果,所以创建工程的时候使用cocos2d ios with Box2D模板.接着,准备一个用来作为绳子片段的图片,例如: rope.png:(4px×2px的一个橙色小方块,如 ...

最新文章

  1. PCI总线和PXI总线的区别
  2. FW: HTTP错误500显示具体的出错信息的方法
  3. 配置MOSS2007beta2的单机开发环境(下)
  4. 字符串的指针和指向字符串的指针变量
  5. 计算机随机数字excel,excel随机生成数字_随机不随意
  6. Python re 模块深入探索
  7. 快手视频批量下载,一个脚本就够了,手把手教你批量下载快手高清视频。
  8. 鲁棒控制器设计方法(systune,hinfsyn,musyn...)
  9. 魔兽世界插件开发-暴雪插件源代码
  10. 先定个小目标,免费360度评价(评估)反馈系统上线,开放部分源码
  11. AI从零开始之我们为什么要为了那个虚无缥缈的f而奋斗
  12. 基于端到端深度学习的自动驾驶:AirSim教程(包含Ubuntu18.04下配置AIrsim仿真环境解决方案)
  13. 如何平衡新老策略的好与坏,一道常见风控送命题解答
  14. crontab: error renaming解决方法
  15. Docker从入门到放弃
  16. html导航栏圆角,怎么实现css圆角?
  17. Unity3D中的预制体Prefab
  18. 镁客网每周硬科技领域投融资汇总(1.27-1.31),英特尔拟大手笔收购以色列芯片制造商...
  19. 面试官总问你“期望薪资”,为什么不直说能给多少钱?
  20. Linux C flie操作: open write read lseek close函数分析

热门文章

  1. 2020年二建YL黄金AB卷-目前只有建筑-机电-市政-管理
  2. 直播预告 | 硅步机器人携手Shadow Robot原厂技术大咖 深度解析遥操作系统
  3. 童鞋们,我模拟了Google的电吉他,可录音,支持键盘
  4. 用html完成编辑日程,10款jQuery实现对简洁大气的日程安排日历
  5. rt-n13u无线打印机服务器,全新体验 华硕RT-N13U雕琢无线打印生活
  6. 基于springdata JPA的dao层接口实现
  7. html 中 block、inline-block 都有哪些?都有什么样的特性?
  8. oracle中触发器的创建,Oracle触发器创建及其功能
  9. sql要学mysql还是php,MySQL_与MSSQL对比学习MYSQL的心得(一)--基本语法,这一期主要是学习MYSQL的基本 - phpStudy...
  10. 如何将u盘(启动盘)重新格式化为NTFS格式