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

相关推荐
stolentime13 小时前
CF2277E Tree Guessing题解
c++·算法·贪心算法·交互·ad-hoc
逐光者93314 小时前
杨氏模量:从定义到工程应用
算法
quantdash_cc14 小时前
如何检查滚动收益率计算中的窗口长度不足?——从数学定义到 Pandas 实现
开发语言·python·数据分析·pandas·量化交易·股票数据·quantdash
砚底藏山河14 小时前
python量化:实时行情WebSocket断线重连状态机
java·python·websocket·金融
CodeGL14 小时前
16、Python Web开发
开发语言·前端·python
加点盐14 小时前
别再用 configparser 了:给本地配置加上加密、校验和版本迁移
python
小嘉丶学长14 小时前
Day08 · 字符串(二)
服务器·开发语言·python·学习·1024程序员节
BD_Marathon15 小时前
【Python】列表推导式
python
2501_9481226315 小时前
Qs 跨端三方库仓颉适配全流程
python·react native·django·tornado
荆棘鸟智能15 小时前
扬尘在线监测数据接入与异常清洗:从断点补传到质量审计
人工智能·算法·系统架构