当前位置: 首页 > article >正文

OD 算法题 B卷 【最佳植树距离】

文章目录

  • 最佳植树距离

最佳植树距离

  • 在直线的公路上种树,给定坑位数量和位置,及需要种多少棵树苗;
  • 树苗之间的最小距离是多少时,可以保证种的最均匀(树苗之间的最小距离最大);

输入描述:
第一行坑位数量;
第二行坑位的位置;
第三行需要种植树苗的数量;
输出描述:
树苗之间的最小距离

示例1:
输入:
7
1 3 6 7 8 11 13
3
输出:
6

示例2:
输入:
8
1 3 6 7 8 11 16 13
4

输出:
5

import bisect# 输入数据
n = int(input())
pos_list = [int(x) for x in input().split(" ")]
m = int(input())def count(num):""" 统计以num为间距,在有效位置内可以种植的树的棵数 """global pos_list# 起始位置stack = [pos_list[0]]# 植树的棵数cnt = 1# 循环计算while True:# 在有序列表中插入一个值,并保证有序# 返回(相等值的)最右边插入位置的索引index = bisect.bisect(pos_list, stack.pop() + num)if index == len(pos_list):# breakstack.append(pos_list[index])cnt += 1return cntdef solve():global pos_list, m# 升序排序    pos_list.sort()# 间距的最小值与最大值left, right = 1, pos_list[-1] // (m-1)while left < right:# 取中间的间距值mid = (left + right) // 2if count(mid) >= m:# 按照当前的间距种植的树多于m, 则表示间距过小left = mid + 1else:right = midreturn leftprint(solve())
http://www.lryc.cn/news/2382136.html

相关文章:

  • ZooKeeper 原理解析及优劣比较
  • 实战5:个性化数字艺术生成与销售
  • 是德科技 | 单通道448G未来之路:PAM4? PAM6? PAM8?
  • OceanBase 开发者大会,拥抱 Data*AI 战略,构建 AI 数据底座
  • STM32IIC协议基础及Cube配置
  • CNN vs ViT:图像世界的范式演进
  • cocos creator使用jenkins打包微信小游戏,自动上传资源到cdn,windows版运行jenkins
  • 定时器的两种实现方式
  • Python、Pytorch、TensorFlow、Anconda、PySide、Jupyter
  • [Java实战]Spring Boot整合MinIO:分布式文件存储与管理实战(三十)
  • MacBook Air A2179(Intel版)安装macOS Catalina所需时间
  • AI在人力资源领域的应用:把握时代浪潮
  • 【VxWorks 实时操作系统(RTOS)】常用函数汇总
  • vr制作公司提供什么服务?
  • 下一代电子电气架构(EEA)的关键技术
  • matlab慕课学习3.5
  • 大语言模型(LLM)如何通过“思考时间”(即推理时的计算资源)提升推理能力
  • Ollama 如何在显存资源有限的情况下合理分配给不同的服务?
  • Qt音视频开发过程中一个疑难杂症的解决方法/ffmpeg中采集本地音频设备无法触发超时回调
  • 基于注意力机制与iRMB模块的YOLOv11改进模型—高效轻量目标检测新范式
  • PEFT库PromptTuningConfig 配置
  • 操作系统----软考中级软件工程师(自用学习笔记)
  • SQL 多表关联与分组聚合:解密答题正确率分析
  • 基于 Redis 实现短信验证码登录功能的完整方案
  • 电平匹配电路
  • JavaScript 日志和调试工具箱-logger2js
  • GitHub 自动认证教程
  • zData X zStorage 为什么采用全闪存架构而非混闪架构?
  • 鸿蒙OSUniApp 实现精美的轮播图组件#三方框架 #Uniapp
  • 解决git中断显示中文为八进制编码问题