洛谷P1577 切绳子题解

题目描述

有N条绳子,它们的长度分别为Li。如果从它们中切割出K条长度相同的

绳子,这K条绳子每条最长能有多长?答案保留到小数点后2位(直接舍掉2为后的小数)。

输入输出格式

输入格式:

第一行两个整数N和K,接下来N行,描述了每条绳子的长度Li。

输出格式:

切割后每条绳子的最大长度。

输入输出样例

输入样例#1:

4 11
8.02
7.43
4.57
5.39
输出样例#1:

2.00

说明

对于100%的数据 0<Li<=100000.00 0<n<=10000 0<k<=10000

解析

  本来以为是一个浮点型二分查找的题目,于是很开心的做,分数一直不一样,直到发现是一道卡精度的题目.处理这种题目一般是先乘一个大数,最后再去除以这个大数,来确保误差很小.另一个就是审题,题目中明确说是直接舍掉小数点后两位的数字,那么就按照题目,而不是四舍五入.

 #include <cstdio>
#include <iostream>
#include <cmath>
#include <algorithm>
#define D double
#define E 1e-5
#define Max 10005
D l,r,a[Max];
const D eps=E;
int n,k;
bool check(D x)
{
int ans=;
for(int i = ; i <= n ; ++ i)
ans += (int)a[i] / x;
if(ans >= k) return true;
else return false;
}
int main()
{
scanf("%d%d",&n,&k);
for(int i = ; i <= n ; ++ i) scanf("%lf",&a[i]);
l=,r=100000.0;
while(r-l > eps) {
D mid=(l+r) / ;
if(check(mid)) l=mid;
else r=mid;
}
printf("%.2lf",l);
return ;
}

47分代码

 #include <cstdio>
#include <iostream>
#include <cmath>
#include <algorithm>
#define D double
#define E 1e-4
#define Max 10005
D l,r,a[Max];
const D eps=E;
int n,k;
bool check(D x)
{
int ans=;
for(int i = ; i <= n ; ++ i)
ans += (int)a[i] / x;
if(ans >= k) return true;
else return false;
}
int main()
{
scanf("%d%d",&n,&k);
for(int i = ; i <= n ; ++ i) scanf("%lf",&a[i]),a[i]*=;
l=,r=100000000.0;
while(r-l > eps) {
D mid=(l+r) / ;
if(check(mid)) l=mid;
else r=mid;
}
printf("%.2lf",l / );
return ;
}

85分代码

 #include <cstdio>
#include <iostream>
#include <cmath>
#include <algorithm>
#define D double
#define E 1e-4
#define Max 10005
D l,r,a[Max];
const D eps=E;
int n,k;
bool check(D x)
{
int ans=;
for(int i = ; i <= n ; ++ i)
ans += (int)a[i] / x;
if(ans >= k) return true;
else return false;
}
int main()
{
scanf("%d%d",&n,&k);
for(int i = ; i <= n ; ++ i) scanf("%lf",&a[i]),a[i]*=;
l=,r=100000000.0;
while(r-l > eps) {
D mid=(l+r) / ;
if(check(mid)) l=mid;
else r=mid;
}
l /= ;
if(l-0.0049 > ) l -= 0.0049;
printf("%.2lf",l);
return ;
}

100分代码

洛谷P1577 切绳子题解的更多相关文章

  1. 洛谷—— P1577 切绳子

    https://www.luogu.org/problemnew/show/P1577 题目描述 有N条绳子,它们的长度分别为Li.如果从它们中切割出K条长度相同的 绳子,这K条绳子每条最长能有多长? ...

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

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

  3. 【算法•日更•第六期】头脑风暴:洛谷P1528 切蛋糕题解

    ▎(一个没有用处的)前言 为什么这次题解特意写明题号呢?因为我发现了这样的事情: 所以不要混了,想看P1714题解的同志们可以圆润的滚开了. 好了,不说没用的了,切入正题: ▎题目 题目及测评链接:戳 ...

  4. 洛谷 P1714 切蛋糕 题解

    P1714 切蛋糕 题目描述 今天是小Z的生日,同学们为他带来了一块蛋糕.这块蛋糕是一个长方体,被用不同色彩分成了N个相同的小块,每小块都有对应的幸运值. 小Z作为寿星,自然希望吃到的第一块蛋糕的幸运 ...

  5. 洛谷P2832 行路难 分析+题解代码【玄学最短路】

    洛谷P2832 行路难 分析+题解代码[玄学最短路] 题目背景: 小X来到了山区,领略山林之乐.在他乐以忘忧之时,他突然发现,开学迫在眉睫 题目描述: 山区有n座山.山之间有m条羊肠小道,每条连接两座 ...

  6. P1577 切绳子

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

  7. 【洛谷P3960】列队题解

    [洛谷P3960]列队题解 题目链接 题意: Sylvia 是一个热爱学习的女孩子. 前段时间,Sylvia 参加了学校的军训.众所周知,军训的时候需要站方阵. Sylvia 所在的方阵中有 n×m ...

  8. 洛谷P2312 解方程题解

    洛谷P2312 解方程题解 题目描述 已知多项式方程: \[a_0+a_1x+a_2x^2+\cdots+a_nx^n=0\] 求这个方程在 \([1,m]\) 内的整数解(\(n\) 和 \(m\) ...

  9. 洛谷P2507 [SCOI2008]配对 题解(dp+贪心)

    洛谷P2507 [SCOI2008]配对 题解(dp+贪心) 标签:题解 阅读体验:https://zybuluo.com/Junlier/note/1299251 链接题目地址:洛谷P2507 [S ...

随机推荐

  1. python鸭子类型

    “当看到一只鸟走起来像鸭子.游泳起来像鸭子.叫起来也像鸭子,那么这只鸟就能够被称为鸭子” python的鸭子类型的设计让python的诸多对象的分类和应用更加灵活,需要注意类型和对象的区别(pytho ...

  2. -透明度中百分比与十六进制的对应关系 MD

    目录 目录 透明度中百分比与十六进制的对应关系 计算代码 对应关系表 Markdown版本笔记 我的GitHub首页 我的博客 我的微信 我的邮箱 MyAndroidBlogs baiqiantao ...

  3. springboot项目,打包时携带所有依赖

    springboot项目,打包时携带所有依赖 本文主要解决springboot打包时,如何设置才能把当前项目的所有依赖都打进去. Springboot 的自带spring-boot-maven-plu ...

  4. CentOS -- 新建用户并使能密钥登录

    目录 1. 新建用户 2. 为新用户授权 2.1. 方法一:把新用户添加到wheel用户组中 2.2. 方法二:把新用户添加到sudoers列表中 3. 新用户使能 SSH 密钥登录 4. 其它 4. ...

  5. win 修改notebook路径

    开始发现 notebook 默认的路径是 C:\Users\Administrator 需要修改 将目标中的%USERPROFILE% 直接删掉了

  6. 十二、vue中watch原理

    1.普通的watch 2.对象属性的watch:   对象和数组都是引用类型,引用类型变量存的是地址,地址没有变,所以不会触发watch.这时我们需要进行深度监听,就需要加上一个属性 deep,值为 ...

  7. Others-SAP hybris 介绍

    https://wenku.baidu.com/view/6bf4d3a73169a4517623a33d.html

  8. 【DATAGUARD】物理dg配置客户端无缝切换 (八.1)--Data Guard Broker 的配置

    [DATAGUARD]物理dg配置客户端无缝切换 (八.1)--Data Guard Broker 的配置 一.1  BLOG文档结构图       一.2  前言部分   一.2.1  导读 各位技 ...

  9. MavenWrapper替代Maven

    1. 说明 jdk8已经安装成功 Maven已经安装成功 参见Maven Wrapper 2. Maven初始化项目 注:初次执行,Maven会下载很多jar,需等待几分钟 mvn archetype ...

  10. pycharm 专业注册

    pycharm的bin目录下pycharm.exe.vmoptions和pycharm64.exe.vmoptions两个配置文件添加 这个路径  -javaagent:E:\PyCharm 2017 ...