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

简介: P1577 切绳子

P1577 切绳子


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

题目地址丢这辽


思路:二分查找答案,L的区间已经给出来了,化小数就乘100就好辽=。=下次一定注意


#include<bits/stdc++.h>
using namespace std;
const int maxn=1e5+1000;
int  a[maxn],n,k;
double x;
int judge(int x){
  int ans=0,i;
  for(int i=1;i<=n;i++){
    ans+=a[i]/x;
  }
  if(ans>=k)
    return true;
  else
    return false;
}
int main()
{
  cin>>n>>k;
  for(int i=1;i<=n;i++){
    cin>>x; a[i]=(int)(x*100);
  } 
  int l=0,r=100000000;
  while(l<=r){
int mid=(l+r)/2;
    if(mid==0) break;
    if(judge(mid)){
      l=mid+1;
    }
    else 
      r=mid-1;
  }
    printf("%.2f",r/100.0);
} 


相关文章
|
8月前
【洛谷 P1002】[NOIP2002 普及组] 过河卒 题解(递归+记忆化搜索)
`NOIP2002`普及组的过河卒问题是一个棋盘路径计数挑战。卒从$(0,0)$出发到$(n,m)$,只能向下或向右移动,马在$(c1,c2)$固定,控制某些点。任务是计算不受马阻挡的路径数。输入是目标和马的位置,输出是路径总数。使用动态规划和记忆化搜索避免重复计算,样例输入$(6,6,3,3)$输出$6$。代码中定义了$f(x,y)$计算$(x,y)$处的路径数,利用边界条件和递推关系计算。
96 0
|
8月前
|
算法
【洛谷 P1003】[NOIP2011 提高组] 铺地毯 题解(数组+贪心算法)
**NOIP2011 提高组问题:铺地毯** 在第一象限的颁奖典礼场地,有$n$张地毯按编号顺序铺设。需找出覆盖特定点$(x, y)$的最上方地毯编号。输入包括地毯坐标和点坐标,输出地毯编号或-1表示未覆盖。 样例:给定3张地毯,点$(2,2)$被第3张地毯覆盖,输出3;另一样例点$(4,5)$未被覆盖,输出-1。 $30\%$数据$n\leq2$,$50\%$数据坐标$\leq100$,$100\%$数据$n\leq10^4$,坐标$\leq10^5$。 解决方法:从下到上遍历地毯,更新覆盖点的地毯编号。 AC代码略。
87 0
|
8月前
|
存储 物联网
【洛谷 P1135】奇怪的电梯 题解(广度优先搜索)
这是一个关于奇怪电梯的编程问题摘要: - 电梯在每层停,且每层有特定数字 $K_i$ 决定上/下按钮的功能。 - 目标是从 $A$ 楼到 $B$ 楼,求最少按键次数,若无法到达则输出 `-1`。 - 输入包括 $N$(楼层数)、$A$(起点)和 $B$(终点),以及每层的 $K_i$ 数字。 - 使用广度优先搜索(BFS)解决,通过队列存储访问过的楼层,避免重复并计算步数。 - 当到达目标楼层时返回步数,队列空时返回 `-1`。
77 0
|
9月前
代码随想录Day36 动态规划05 LeetCode T1049最后一块石头的重量II T494 目标和 T474 一和零
代码随想录Day36 动态规划05 LeetCode T1049最后一块石头的重量II T494 目标和 T474 一和零
65 0
|
9月前
|
人工智能 算法 索引
六六力扣刷题贪心算法之K次取反后最大化的数组和
六六力扣刷题贪心算法之K次取反后最大化的数组和
62 0
|
9月前
|
机器学习/深度学习
蓝桥杯-2/14天-完全平方数【另类思路】
蓝桥杯-2/14天-完全平方数【另类思路】
|
算法
代码随想录算法训练营第七天 | LeetCode 454.四数相加II、383. 赎金信、15. 三数之和、18. 四数之和
代码随想录算法训练营第七天 | LeetCode 454.四数相加II、383. 赎金信、15. 三数之和、18. 四数之和
54 0
|
算法
代码随想录Day28 贪心03 LeetCode T1005 K次取反后最大化的数组和 LeetCode T134 加油站 LeetCode T135 分发糖果
代码随想录Day28 贪心03 LeetCode T1005 K次取反后最大化的数组和 LeetCode T134 加油站 LeetCode T135 分发糖果
42 0
|
算法
【算法挨揍日记】day04——15. 三数之和、18. 四数之和
题目描述: 给你一个整数数组 nums ,判断是否存在三元组 [nums[i], nums[j], nums[k]] 满足 i != j、i != k 且 j != k ,同时还满足 nums[i] + nums[j] + nums[k] == 0 。请你返回所有和为 0 且不重复的三元组。
85 0
代码随想录算法训练营第七天| 454.四数相加II 383. 赎金信15. 三数之和18. 四数之和
代码随想录算法训练营第七天| 454.四数相加II 383. 赎金信15. 三数之和18. 四数之和

热门文章

最新文章