文章目录

  • 前言
  • 题目
  • 详细题解
    • 写法1 O(nlogn)O(nlogn)O(nlogn)
    • 推导证明
  • 举一反三
  • 总结

前言

话说今天开始准备搞一个秋招的GitHub,算是复习一遍了。

今天还是寒假每日一题,不是软广,不是硬广,只是个人练习,题目来自第八届蓝桥杯省赛C++A/B组, 第八届蓝桥杯省赛JAVA A/B组。

和上次的绳子差不多,不过这一次是二维的。

【寒假每日一题】剪绳子(个人练习)详细题解+推导证明(第六天)

题目

儿童节那天有 K 位小朋友到小明家做客。

小明拿出了珍藏的巧克力招待小朋友们。

小明一共有 N 块巧克力,其中第 i 块是 Hi×Wi 的方格组成的长方形。

为了公平起见,小明需要从这 N 块巧克力中切出 K 块巧克力分给小朋友们。

切出的巧克力需要满足:

形状是正方形,边长是整数
大小相同
例如一块 6×5 的巧克力可以切出 6 块 2×2 的巧克力或者 2 块 3×3 的巧克力。

当然小朋友们都希望得到的巧克力尽可能大,你能帮小明计算出最大的边长是多少么?

输入格式

  • 第一行包含两个整数 N 和 K。
  • 以下 N 行每行包含两个整数 Hi 和 Wi。
  • 输入保证每位小朋友至少能获得一块 1×1 的巧克力。

输出格式

  • 输出切出的正方形巧克力最大可能的边长。

数据范围

  • 1≤N,K≤105,1≤N,K≤105,1≤N,K≤105,
  • 1≤Hi,Wi≤1051≤Hi,Wi≤1051≤Hi,Wi≤105
输入样例:
2 10
6 5
5 6
输出样例:
2

详细题解

写法1 O(nlogn)O(nlogn)O(nlogn)

#include <iostream>
#include <cstring>
#include <algorithm>using namespace std;typedef long long LL;
const int N = 100005;int n, m;
int h[N], w[N];bool check(int mid)
{LL ans = 0;for (int i = 0; i < n; ++ i ){ans += (LL)(h[i] / mid) * (w[i] / mid);if (ans >= m) return true;}return false;
}int main()
{cin >> n >> m;for (int i = 0; i < n; ++ i ) cin >> h[i] >> w[i];int l = 1, r = 1e5;while (l < r){int mid = l + r + 1 >> 1;if(check(mid)) l = mid;else r = mid - 1;}cout << r << endl;return 0;
}

毫无疑问,这是绳子的扩展题,只不过是从一维空间扩展到二维空间,从浮点数变成整型数。

最后提交,AC

【寒假每日一题】分巧克力(个人练习)详细题解+推导证明(第八天)附带转载程序员壁纸相关推荐

  1. 【寒假每日一题】剪绳子(个人练习)详细题解+推导证明(第六天)

    文章目录 前言 题目 详细题解 写法1 O(nlogn)O(nlogn)O(nlogn) 推导证明 举一反三 总结 前言 今天终于出核酸检测的结果,还好大家都没事,不然怕是要封城了!!! 今天还是寒假 ...

  2. 【寒假每日一题】数字三角形(个人练习)详细题解+推导证明(第二天)

    文章目录 前言 题目 详细题解 写法1 O ( n 2 ) O(n^2) O(n2) 推导证明 写法2 O ( n 2 ) O(n^2) O(n2) 推导证明 举一反三 总结 前言 昨天真是人生中奇葩 ...

  3. 【寒假每日一题】找硬币(个人练习)详细题解+推导证明(第十二天)

    文章目录 前言 题目 详细题解 写法1 O ( n ) O(n) O(n) 推导证明 写法2 O ( n l o g n ) O(nlogn) O(nlogn) 推导证明 举一反三 总结 前言 这个寒 ...

  4. 【寒假每日一题】十三号星期五(个人练习)详细题解+推导证明(第十三天)

    文章目录 前言 题目 详细题解 写法1 O(n)O(n)O(n) 推导证明 举一反三 总结 前言 这一周的题,真的是很扎实的基础题. 今天的题目是来自usaco training 1.2. 最近在家呆 ...

  5. 【寒假每日一题】平方矩阵 II(个人练习)详细题解+推导证明(第十四天)

    文章目录 前言 题目 详细题解 写法1 O(n2)O(n^2)O(n2) 推导证明 写法2 O(n2)O(n^2)O(n2) 推导证明 写法3 O(n2)O(n^2)O(n2) 推导证明 举一反三 总 ...

  6. 【寒假每日一题】棋盘挑战(个人练习)详细题解+推导证明(第十六天)

    文章目录 前言 题目 详细题解 写法1 推导证明 举一反三 总结 前言 今天是经典的深度优先搜索问题,即八皇后问题. 作为经典问题,我发现了一种新的写法,不需要开二维数组即可完成. 题目 给定一个 N ...

  7. 倪文迪陪你学蓝桥杯2021寒假每日一题:1.11日(2017省赛A第9题)

    2021年寒假每日一题,2017~2019年的省赛真题. 本文内容由倪文迪(华东理工大学计算机系软件192班)和罗勇军老师提供. 后面的每日一题,每题发一个新博文,请大家看博客目录:https://b ...

  8. 倪文迪陪你学蓝桥杯2021寒假每日一题:1.15日(2018省赛A组第3题)

    2021年寒假每日一题,2017~2019年的省赛真题. 本文内容由倪文迪(华东理工大学计算机系软件192班)和罗勇军老师提供. 后面的每日一题,每题发一个新博文,请大家每天看博客蓝桥杯专栏: htt ...

  9. 倪文迪陪你学蓝桥杯2021寒假每日一题:1.21日(2018省赛A组第9题)

    2021年寒假每日一题,2017~2019年的省赛真题. 本文内容由倪文迪(华东理工大学计算机系软件192班)和罗勇军老师提供. 后面的每日一题,每题发一个新博文,请大家每天看博客蓝桥杯专栏: htt ...

最新文章

  1. 使用计算机辐射最大,计算机辐射的主要来源及其对人体的危害
  2. UI设计培训分享:ui的字体怎么正确设置?
  3. configparser模块和PyYAML模块生成和修改配置文件
  4. 【78.89%】【codeforces 746A】Compote
  5. 9、Flutter 实现 生成二维码
  6. windows向linux工作站发送文件
  7. ios pull代码不提示成功_pullRefresh ios版问题 跪求大神帮助啊
  8. Sysfs-设备模型上层容器
  9. 大数据之-Hadoop伪分布式_配置启动HDFS_并运行MR程序---大数据之hadoop工作笔记0023
  10. 【bzoj5071】[Lydsy十月月赛]小A的数字 乱搞
  11. PaddlePaddle(2)——数据获取与处理(以CV任务为主)
  12. bin文件用cad打开_bin文件 打开方法_win7如何打开bin 格式的文件图文步骤
  13. JAVA学习48_Eclipse错误: 找不到或无法加载主类或项目无法编译10种解决大法!
  14. 软件开发人员如何记笔记
  15. 佛祖保佑代码无bug图片_佛祖保佑,永无BUG
  16. AE生成高清视频设置
  17. 【BZOJ4372】烁烁的游戏(点分树)
  18. JAVA abstract
  19. 汉字如何改革减少同音字?
  20. 使用Egret粒子编辑器实现烟雾效果

热门文章

  1. 电商运营风向标:数据分析。
  2. 在经历了6个月的学习后,我终于上架了自己的第一款APP---酷课堂iOS群问答精华整理(201807期)
  3. 查看修改qcow2文件
  4. 区块链具有的8种特性
  5. 浏览器如何在f12中查看接口地址_经过浏览器中的F12中来查看接口的入参、出参和网页响应时间(新手教程)...
  6. 一段有趣的代码,喂仓鼠
  7. android 排他button,排他思想案例
  8. 解决Microsoft OneNote不能登录https://onedrive.live.com的问题
  9. JavaWeb题库整理
  10. 笔记:戴蒙德模型——参数变化的影响