洛谷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. mongodb常规操作语句

    db.c_user.insertOne({ name: "ljm", pwd: "123456" }); //插入一个 db.c_user.insertMany ...

  2. win add static arp

    win add static arp > arp -s "192.168.0.2" "00-0a-35-01-fe-c0" > arp -a | f ...

  3. JAVA案例练习: 去除ArrayList中重复的字符串(字符串内容相同),去除重复的对象

    package com.yqw.list; import java.util.ArrayList;import java.util.Iterator; public class Demo_ArrayL ...

  4. 【面试突击】- sql语句的优化分析

    开门见山,问题所在 原文地址:http://www.cnblogs.com/knowledgesea/p/3686105.html sql语句性能达不到你的要求,执行效率让你忍无可忍,一般会时下面几种 ...

  5. 在element-ui label中设置空格

    处理之前的效果 处理之后 处理方法: <el-form-item label="类型" required> <label slot="label&quo ...

  6. 英语juelrye宝石

    juelrye  外语词汇,代指宝石珠宝稀有的物件 中文名珠宝装饰 外文名juelrye 目录 释义 juelrye Noun(名词) Uncountable(不可数) 1. juelrye des ...

  7. Flask入门很轻松 (二)

    转载请在文章开头附上原文链接地址:https://www.cnblogs.com/Sunzz/p/10959454.html 请求钩子 在客户端和服务器交互的过程中,有些准备工作或扫尾工作需要处理,比 ...

  8. Nginx 脚本自动进行日志切割

    随着网站的运行时间越来越长,日志文件也会随之越来越大需要对Nginx日志进行切割,下面是每周六晚上自动进行日志切割的shell脚本 脚本如下: [root@jrjs ~]# vim /usr/loca ...

  9. 关于缩短cin时间的方法

    std::ios::sync_with_stdio(false);

  10. Linux 解决krb5p安全验证开机无法挂载问题

    从开始练习rhce以来,其中nfs挂载题目经常出现配置没有任何问题,但是开机无法挂载使用krb5p验证的挂载目录. 使用systemctl status mnt-nfssecure.mount命令查看 ...