当前位置: 首页 > news >正文

编程题记录2

二分法

在这里插入图片描述
题目链接
https://www.lanqiao.cn/problems/99/learning/?page=1&first_category_id=1&second_category_id=3&tags=%E7%9C%81%E8%B5%9B&tag_relation=intersection

n, k = map(int, input().split())
ls = [[0]*2 for _ in range(n)]
for i in range(n):
    ls[i][0], ls[i][1] = map(int, input().split())
def check(x):
    count = 0
    # 遍历每个长方形
    for j in range(n):
        # 保证最小边长要比x大
        min_len = min(ls[j][0], ls[j][1])
        if min_len < x:
            continue
        else:
            count += (ls[j][0]//x) * (ls[j][1]//x)
    # 如果这种方案能切出的巧克力比人数多,说明边长还能更长
    if count >= k:
        return True
    else:
        return False
# 采用二分法进行遍历
l, r = 0, 100001
while l+1 != r:
    mid = (l+r)//2
    # 如果mid数据可以,说明边长偏小
    if check(mid):
        l = mid
    else:
        r = mid

if check(l):
    print(l)
else:
    print(r)

相关文章:

  • 如何解决微服务调用链性能问题(优化 JVM 配置,降低 Full GC 频率)
  • SpringCould微服务架构之Docker(1)
  • 【解决】XCode不支持旧版本的iOS设备
  • Spring Boot项目快速创建-开发流程(笔记)
  • MySQL颠覆版系列————MySQL新特性(开启数据库的新纪元)上篇
  • 【AI部署】Ollama与vLLM深度对比:大模型部署框架的技术演进与实践指南
  • [c语言日寄]数据输入
  • 【论文#目标检测】You Only Look Once: Unified, Real-Time Object Detection
  • unity开发效率提升笔记
  • 系统掌握scikit-learn:核心功能与实践指南
  • AIGC 新势力:探秘海螺 AI 与蓝耘 MaaS 平台的协同创新之旅
  • 内网渗透技术 Docker逃逸技术(提权)研究 CSMSF
  • 【YOLO项目】毕设大作业之疲劳驾驶检测
  • 【开源宝藏】30天学会CSS - DAY5 第五课 脉冲动画
  • 安装unsloth
  • 第三天 开始Unity Shader的学习之旅之第二天的补充
  • 5G智慧工厂专网部署:IPLOOK助力制造业数字化转型
  • 我爱学算法之——滑动窗口攻克子数组和子串难题(中)
  • 架构思维:如何设计一个支持海量数据存储的高扩展性架构
  • Redis、Memcached应用场景对比
  • 工人日报:应对“职场肥胖”,健康与减重同受关注
  • 外企聊营商|威能集团:公平环境增“暖”意
  • 特朗普访问卡塔尔,两国签署多项合作协议
  • 香港特区立法会通过条例草案便利外地公司迁册来港
  • 美政府以拨款为要挟胁迫各州服从移民政策,20个州联合起诉
  • 外交部亚洲司司长刘劲松会见印度驻华大使罗国栋