洛谷P1577 切绳子题解
洛谷P1577 切绳子题解
题目描述
有N条绳子,它们的长度分别为Li。如果从它们中切割出K条长度相同的
绳子,这K条绳子每条最长能有多长?答案保留到小数点后2位(直接舍掉2为后的小数)。
输入输出格式
输入格式:
第一行两个整数N和K,接下来N行,描述了每条绳子的长度Li。
输出格式:
切割后每条绳子的最大长度。
输入输出样例
4 11
8.02
7.43
4.57
5.39
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 切绳子题解的更多相关文章
- 洛谷—— P1577 切绳子
https://www.luogu.org/problemnew/show/P1577 题目描述 有N条绳子,它们的长度分别为Li.如果从它们中切割出K条长度相同的 绳子,这K条绳子每条最长能有多长? ...
- 洛谷 P1577 切绳子【二分答案】
题目描述 有N条绳子,它们的长度分别为Li.如果从它们中切割出K条长度相同的 绳子,这K条绳子每条最长能有多长?答案保留到小数点后2位. 输入输出格式 输入格式: 第一行两个整数N和K,接下来N行,描 ...
- 【算法•日更•第六期】头脑风暴:洛谷P1528 切蛋糕题解
▎(一个没有用处的)前言 为什么这次题解特意写明题号呢?因为我发现了这样的事情: 所以不要混了,想看P1714题解的同志们可以圆润的滚开了. 好了,不说没用的了,切入正题: ▎题目 题目及测评链接:戳 ...
- 洛谷 P1714 切蛋糕 题解
P1714 切蛋糕 题目描述 今天是小Z的生日,同学们为他带来了一块蛋糕.这块蛋糕是一个长方体,被用不同色彩分成了N个相同的小块,每小块都有对应的幸运值. 小Z作为寿星,自然希望吃到的第一块蛋糕的幸运 ...
- 洛谷P2832 行路难 分析+题解代码【玄学最短路】
洛谷P2832 行路难 分析+题解代码[玄学最短路] 题目背景: 小X来到了山区,领略山林之乐.在他乐以忘忧之时,他突然发现,开学迫在眉睫 题目描述: 山区有n座山.山之间有m条羊肠小道,每条连接两座 ...
- P1577 切绳子
P1577 切绳子 题目描述 有N条绳子,它们的长度分别为Li.如果从它们中切割出K条长度相同的 绳子,这K条绳子每条最长能有多长?答案保留到小数点后2位. 输入输出格式 输入格式: 第一行两个整数N ...
- 【洛谷P3960】列队题解
[洛谷P3960]列队题解 题目链接 题意: Sylvia 是一个热爱学习的女孩子. 前段时间,Sylvia 参加了学校的军训.众所周知,军训的时候需要站方阵. Sylvia 所在的方阵中有 n×m ...
- 洛谷P2312 解方程题解
洛谷P2312 解方程题解 题目描述 已知多项式方程: \[a_0+a_1x+a_2x^2+\cdots+a_nx^n=0\] 求这个方程在 \([1,m]\) 内的整数解(\(n\) 和 \(m\) ...
- 洛谷P2507 [SCOI2008]配对 题解(dp+贪心)
洛谷P2507 [SCOI2008]配对 题解(dp+贪心) 标签:题解 阅读体验:https://zybuluo.com/Junlier/note/1299251 链接题目地址:洛谷P2507 [S ...
随机推荐
- BZOJ3514 / Codechef GERALD07 Chef and Graph Queries LCT、主席树
传送门--BZOJ 传送门--VJ 考虑使用LCT维护时间最大生成树,那么对于第\(i\)条边,其加入时可能会删去一条边.记\(pre_i\)表示删去的边的编号,如果不存在则\(pre_i = 0\) ...
- Linux文件比对,批量复制
--背景 工作中突然有一天文件服务器空间满了,导致文件存不进去,立马换了另外一台服务器作为文件服务器,将服务器挂载上去,原来的服务器修复之后需要重新换回来,但是需要将临时使用的服务器内的文件迁移至原文 ...
- Ambari深入学习(III)-开源使用及其改进思考
Ambari采用的不是一个新的思想和架构,也不是完成了软件的新的革命,而是充分利用了一些已有的优秀开源软件,巧妙地把它们结合起来,使其在分布式环境中做到了集群式服务管理能力.监控能力.展示能力.这些优 ...
- 1、Linux安装前的准备
1.硬盘和分区 1.1 Linux中如何表示硬盘和分区 硬盘划分为 主分区.扩展分区和逻辑分区三部分. 主分区只有四个: 扩展分区可以看成是一个特殊的主分区类型,在扩展分区中还可以建立相应的逻辑分区 ...
- 【开发工具】- Idea.2018.02注册码激活
1.从下面地址下载一个jar包,名称是 JetbrainsCrack-3.1-release-enc.jar 下载地址: 链接: https://pan.baidu.com/s/1VZjklI3qh ...
- 小div在大div中垂直居中方式
代码: <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8 ...
- UAVCAN DSDL介绍
原文:http://uavcan.org/Specification/3._Data_structure_description_language/ DSDL:Data structure descr ...
- Java JAR包
JAR文件全称 Java Archive File,意为Java档案文件.JAR文件是一种压缩文件,也被成为JAR包. 运行程序时,JVM会自动在内存中解压要用的JAR包. 使用JAR包的优点:1.安 ...
- Cloudera Manager 5.15.1忘记密码怎么破?
Cloudera Manager 5.15.1忘记密码怎么破? 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.登陆CM修改默认密码 1>.使用默认密码登陆CM界面 2&g ...
- src挖掘过程之信息收集
信息收集 1.厂商域名 2.厂商ip段 3.厂商业务信息 域名收集 1.基于SSL证书查询 2.第三方网站接口查询 3.Github 4.DNS解析记录 5.子域名枚举等 基于 ...