蓝桥杯 算法提高 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,否则代码会直接判断加入新元素后的大小

相关推荐
小咕聊编程几秒前
基于Python的豆瓣电影数据可视化系统构建分析
开发语言·python·信息可视化
WBluuue38 分钟前
数据结构与算法:分块(一):块状数组、块状链表
数据结构·c++·算法·链表
小小张说故事1 小时前
Python 的 dict 为什么查询是 O(1)?拆开哈希表、扰动函数与扩容阈值
python
澳鹏Appen2 小时前
澳鹏重磅发布ExamOCRBench:面向端到端试卷判分的多任务基准
算法·benchmark·基准评测
像风一样的男人@2 小时前
python --基于scp的文件传输助手
开发语言·python
benjormin2 小时前
Java数据结构 二叉搜索树
数据结构·算法
人工智能培训2 小时前
知识图谱:结构化表达实体与关系的知识组织技术
大数据·人工智能·算法·重构·生活·知识图谱
用户0332126663672 小时前
使用 Python 在 Word 文档中添加、修改和删除变量
python
专注仿真2 小时前
动态规划算法详解
人工智能·python·大模型训练·控制算法
地平线开发者3 小时前
QAT 实战:从 PyTorch 模型到 J6E 实板精度与延时验证
pytorch·算法·自动驾驶