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

相关推荐
李昊哲小课2 分钟前
Python json模块完整教程
开发语言·python·json
易醒是好梦2 分钟前
Python flask demo
开发语言·python·flask
怪侠_岭南一只猿5 分钟前
爬虫工程师入门阶段一:基础知识点完全学习文档
css·爬虫·python·学习·html
滴滴答滴答答6 分钟前
机考刷题之 6 LeetCode 169 多数元素
算法·leetcode·职场和发展
易龙祥9 分钟前
批量下载IGS气象文件(利用python爬虫下载igs的气象数据)
python·igs·气象文件
阿_旭28 分钟前
基于YOLO26深度学习的交警手势识别系统【python源码+Pyqt5界面+数据集+训练代码】
人工智能·python·深度学习·交警手势识别
6+h41 分钟前
【Spring】AOP核心之原始对象与代理对象
java·python·spring
Neteen1 小时前
【数据结构-思维导图】第二章:线性表
数据结构·c++·算法
礼拜天没时间.1 小时前
力扣热题100实战 | 第25期:K个一组翻转链表——从两两交换到K路翻转的进阶之路
java·算法·leetcode·链表·递归·链表反转·k个一组翻转链表
w_a_o1 小时前
传统配方+机器学习:福尔蒂新材料用15年经验构建梯度回归预测模型(Python开源预告)
python·机器学习·回归·kmeans·宽度优先