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

相关推荐
DpHard14 分钟前
Vscode 配置python调试环境
ide·vscode·python
小蜗笔记17 分钟前
显卡、Cuda和pytorch兼容问题
人工智能·pytorch·python
I AM_SUN25 分钟前
98. 验证二叉搜索树
数据结构·c++·算法·leetcode
高建伟-joe28 分钟前
内容安全:使用开源框架Caffe实现上传图片进行敏感内容识别
人工智能·python·深度学习·flask·开源·html5·caffe
学习中的码虫1 小时前
数据结构基础排序算法
数据结构·算法·排序算法
JarmanYuo1 小时前
ARM (Attention Refinement Module)
python·计算机视觉
正经教主1 小时前
【基础】Windows开发设置入门4:Windows、Python、Linux和Node.js包管理器的作用和区别(AI整理)
linux·windows·python·包管理器
yidaqiqi1 小时前
[目标检测] YOLO系列算法讲解
算法·yolo·目标检测
Q_Q19632884751 小时前
python的漫画网站管理系统
开发语言·spring boot·python·django·flask·node.js·php
飞天狗1112 小时前
2024 山东省ccpc省赛
c++·算法