【寒假每日一题】分巧克力(个人练习)详细题解+推导证明(第八天)附带转载程序员壁纸
文章目录
- 前言
- 题目
- 详细题解
- 写法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 O(nlogn)O(nlogn)O(nlogn) 推导证明 举一反三 总结 前言 今天终于出核酸检测的结果,还好大家都没事,不然怕是要封城了!!! 今天还是寒假 ...
- 【寒假每日一题】数字三角形(个人练习)详细题解+推导证明(第二天)
文章目录 前言 题目 详细题解 写法1 O ( n 2 ) O(n^2) O(n2) 推导证明 写法2 O ( n 2 ) O(n^2) O(n2) 推导证明 举一反三 总结 前言 昨天真是人生中奇葩 ...
- 【寒假每日一题】找硬币(个人练习)详细题解+推导证明(第十二天)
文章目录 前言 题目 详细题解 写法1 O ( n ) O(n) O(n) 推导证明 写法2 O ( n l o g n ) O(nlogn) O(nlogn) 推导证明 举一反三 总结 前言 这个寒 ...
- 【寒假每日一题】十三号星期五(个人练习)详细题解+推导证明(第十三天)
文章目录 前言 题目 详细题解 写法1 O(n)O(n)O(n) 推导证明 举一反三 总结 前言 这一周的题,真的是很扎实的基础题. 今天的题目是来自usaco training 1.2. 最近在家呆 ...
- 【寒假每日一题】平方矩阵 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) 推导证明 举一反三 总 ...
- 【寒假每日一题】棋盘挑战(个人练习)详细题解+推导证明(第十六天)
文章目录 前言 题目 详细题解 写法1 推导证明 举一反三 总结 前言 今天是经典的深度优先搜索问题,即八皇后问题. 作为经典问题,我发现了一种新的写法,不需要开二维数组即可完成. 题目 给定一个 N ...
- 倪文迪陪你学蓝桥杯2021寒假每日一题:1.11日(2017省赛A第9题)
2021年寒假每日一题,2017~2019年的省赛真题. 本文内容由倪文迪(华东理工大学计算机系软件192班)和罗勇军老师提供. 后面的每日一题,每题发一个新博文,请大家看博客目录:https://b ...
- 倪文迪陪你学蓝桥杯2021寒假每日一题:1.15日(2018省赛A组第3题)
2021年寒假每日一题,2017~2019年的省赛真题. 本文内容由倪文迪(华东理工大学计算机系软件192班)和罗勇军老师提供. 后面的每日一题,每题发一个新博文,请大家每天看博客蓝桥杯专栏: htt ...
- 倪文迪陪你学蓝桥杯2021寒假每日一题:1.21日(2018省赛A组第9题)
2021年寒假每日一题,2017~2019年的省赛真题. 本文内容由倪文迪(华东理工大学计算机系软件192班)和罗勇军老师提供. 后面的每日一题,每题发一个新博文,请大家每天看博客蓝桥杯专栏: htt ...
最新文章
- 使用计算机辐射最大,计算机辐射的主要来源及其对人体的危害
- UI设计培训分享:ui的字体怎么正确设置?
- configparser模块和PyYAML模块生成和修改配置文件
- 【78.89%】【codeforces 746A】Compote
- 9、Flutter 实现 生成二维码
- windows向linux工作站发送文件
- ios pull代码不提示成功_pullRefresh ios版问题 跪求大神帮助啊
- Sysfs-设备模型上层容器
- 大数据之-Hadoop伪分布式_配置启动HDFS_并运行MR程序---大数据之hadoop工作笔记0023
- 【bzoj5071】[Lydsy十月月赛]小A的数字 乱搞
- PaddlePaddle(2)——数据获取与处理(以CV任务为主)
- bin文件用cad打开_bin文件 打开方法_win7如何打开bin 格式的文件图文步骤
- JAVA学习48_Eclipse错误: 找不到或无法加载主类或项目无法编译10种解决大法!
- 软件开发人员如何记笔记
- 佛祖保佑代码无bug图片_佛祖保佑,永无BUG
- AE生成高清视频设置
- 【BZOJ4372】烁烁的游戏(点分树)
- JAVA abstract
- 汉字如何改革减少同音字?
- 使用Egret粒子编辑器实现烟雾效果
热门文章
- 电商运营风向标:数据分析。
- 在经历了6个月的学习后,我终于上架了自己的第一款APP---酷课堂iOS群问答精华整理(201807期)
- 查看修改qcow2文件
- 区块链具有的8种特性
- 浏览器如何在f12中查看接口地址_经过浏览器中的F12中来查看接口的入参、出参和网页响应时间(新手教程)...
- 一段有趣的代码,喂仓鼠
- android 排他button,排他思想案例
- 解决Microsoft OneNote不能登录https://onedrive.live.com的问题
- JavaWeb题库整理
- 笔记:戴蒙德模型——参数变化的影响