首页 > 其他分享 >蓝桥杯 分巧克力

蓝桥杯 分巧克力

时间:2023-08-02 19:01:49浏览次数:43  
标签:巧克力 max chocolates 蓝桥 middle num left size

https://www.lanqiao.cn/problems/99/learning/?page=3&first_category_id=1&sort=students_count&second_category_id=3

暴力方法

N, K = map(int, input().split())
chocolates = [[int(n) for n in input().split()] for _ in range(N)]

max_size = 1

for size in range(2, max([max(c) for c in chocolates])):
    # 计算边长为size的时候,能分成几块
    num = sum([(c[0] // size) * (c[1] // size) for c in chocolates])
    # print(size, num)
    # 如果够分,就更新
    if num > K:
        max_size = size

print(max_size)

二分查找优化

N, K = map(int, input().split())  
chocolates = [[int(n) for n in input().split()] for _ in range(N)]  
max_len = max([max(c) for c in chocolates])  
left, right = 0, max_len + 1  
while left + 1 != right:  
    middle = (left + right) // 2  
    # 在middle长度下,可以分的块数  
    num = sum([(c[0] // middle) * (c[1] // middle) for c in chocolates])  
    if num >= K:  
        left = middle  
    else:  
        right = middle  
print(left)

标签:巧克力,max,chocolates,蓝桥,middle,num,left,size
From: https://www.cnblogs.com/mengzhuo/p/17601524.html

相关文章

  • 蓝桥杯
    【问题描述】两种糖果分别有9个和16个,要全部分给7个小朋友,每个小朋友得到的糖果总数最少为2个最多为5个,问有多少种不同的分法。只要有其中一个小朋友在两种方案中分到的糖果不完全相同,这两种方案就算作不同的方案答案:5067671defdfs(n:int):#givecandies......
  • 爬虫 | 蓝桥社区热搜点赞器
    本实验首先为大家介绍了爬虫必备的知识cookie,掌握cookie的使用场景之后,再结合爬虫思想实现了两款实用工具,自动点赞器与自动签到器,为大家扩展了爬虫编写工具的新思路。本节实验的最后会向大家简单介绍爬虫未来的学习方向。知识点cookie与爬虫实验楼社区点赞器实验楼签到器......
  • P9387 [THUPC 2023 决赛] 巧克力 题解
    这篇题解会只讲怎么dp,所以我们这里跳过博弈论的部分。Let'srephrasetheproblemstatementasfollows:给定\(n,m\),设\(x=1\oplus2\oplus\cdots\oplusn\oplusm\)。求有多少个有序三元组\((a,b,c)\)满足:\(a+b+c\len\)或\(a+b+c=m\)(如果都满足需要算两遍)。\((a+b......
  • 爬虫 | 解析蓝桥云课课程数据
    爬取蓝桥云课页面的课程名字和课程链接。爬取内容如下图所示:我们先要打开开发者工具来定位代码,理清我们需要的数据与标签之间的关系。每一个class为col-3的div标签就是一个课程的信息和链接。比如,我们定位Python新手入门课程,如下图所示:观察代码后,我们可以知道,课程地址......
  • [蓝桥杯 2022 国 B] 卡牌
    题目描述这天,小明在整理他的卡牌。他一共有\(n\)种卡牌,第\(i\)种卡牌上印有正整数数\(i(i\in[1,n])\),且第\(i\)种卡牌现有\(a_{i}\)张。而如果有\(n\)张卡牌,其中每种卡牌各一张,那么这\(n\)张卡牌可以被称为一套牌。小明为了凑出尽可能多套牌,拿出了\(m\)张空......
  • 2014 蓝桥杯 预赛 c/c++ 本科B组 第八题:蚂蚁感冒(10')(4.9更新)
    第八题:蚂蚁感冒(10')  长100厘米的细长直杆子上有n只蚂蚁。它们的头有的朝左,有的朝右。   每只蚂蚁都只能沿着杆子向前爬,速度是1厘米/秒。  当两只蚂蚁碰面时,它们会同时掉头往相反的方向爬行。  这些蚂蚁中,有1只蚂蚁感冒了。并且在和其它蚂蚁碰面时,会把......
  • 2014 蓝桥杯 预赛 c/c++ 本科B组 第三题:李白打酒 (8' )
    第三题:李白打酒(8')  话说大诗人李白,一生好饮。幸好他从不开车。  一天,他提着酒壶,从家里出来,酒壶中有酒2斗。他边走边唱:  无事街上走,提壶去打酒。  逢店加一倍,遇花喝一斗。  这一路上,他一共遇到店5次,遇到花10次,已知最后一次遇到的是花,他正好把酒喝光了。......
  • P8708 [蓝桥杯 2020 省 A1] 整数小拼接 题解
    前言传送门blog思路这种选出两个数拼接在一起的题,一看就可以使用two-point,我们使用$l$和$r$分别从最大的和最小的开始搜索,进行两次。以$l$为头,$r$为尾。以$r$为头,$l$为尾。如何比较大小呢?我们可以先去做宇宙总统这道题。首先排序的$cmp$:boolcmp(strin......
  • 题解 P8648【[蓝桥杯 2017 省 A] 油漆面积】
    怎么题解区全是扫描线,还有个\(O(n^3)\)暴力老哥。为防止误导新人,给个理论上稳过的\(O(n^2)\)解法。二维前缀和可以处理若干次单点加,最后若干次矩形查的问题。将其差分,即可处理若干次矩形加,最后若干次单点查的问题。于是我们使用差分将所有矩形加上,然后做一遍二维前缀和,即......
  • 【题解】P8679 [蓝桥杯 2019 省 B] 填空问题 题解
    P8679[蓝桥杯2019省B]填空问题题解题目传送门欢迎大家指出错误并联系这个蒟蒻更新日志2023-05-2521:02文章完成2023-05-2711:34文章通过审核2023-06-2021:03优化了文章代码格式试题A:组队【解析】本题是一道经典的DFS搜索题,每次对各号位的选手进行DFS,......