蓝桥杯 算法提高 ADV-1164 和谐宿舍 python AC

贪心,二分

同类型题:蓝桥杯 算法提高 ADV-1175 打包

python 复制代码
def judge(x):
    wood = 0
    max_val = 0
    ans_len = 0
    for i in ll:
        if i > x:
            return False
        elif max(max_val, i) * (ans_len + 1) <= x:
            max_val = max(max_val, i)
            ans_len += 1
        else:
            wood += 1
            max_val = i
            ans_len = 1
    if ans_len:
        wood += 1
    return wood <= m


n, m = map(int, input().split())
ll = list(map(int, input().split()))
l, r = 0, max(ll) * len(ll)
while l < r:
    mid = (l + r) // 2
    if judge(mid):
        r = mid
    else:
        l = mid + 1
print(l)

函数遍历中加入了一个剪枝,判断当单个画大于木板时直接返回false,否则代码会直接判断加入新元素后的大小

相关推荐
YXWik67 小时前
图片 OCR 文字提取 (Python + AI 模型(ModelScope))
人工智能·python·ocr
NOVAnet20238 小时前
AI 全球化部署网络瓶颈:算法模型跨地域、跨云互联核心痛点解析
算法·ai·sd-wan·专线·跨区域
Thecozzy8 小时前
写文档教 AI 用代码
开发语言·python
Misnearch8 小时前
1、数组/字符串
java·数据结构·算法
Hanniel8 小时前
装饰器 (中): 进阶篇,解锁框架级玩法
开发语言·python
康哥爱编程8 小时前
鸿蒙应用开发之应用如何实现腾讯云对象存储?
python·云计算·腾讯云
008爬虫实战录8 小时前
【数据结构】 树、二叉树、完全二叉树,先序遍历、中序遍历、后序遍历
数据结构·算法
小O的算法实验室8 小时前
2024年AST,基于费马点分组粒子群算法的复合型无人机统一路径规划
算法·无人机
${王小剑}8 小时前
在pycharm中配置pyside6
ide·python·pycharm
烛之武8 小时前
Python速通笔记
windows·python