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

做 专而精 的网站建筑人才网987

做 专而精 的网站,建筑人才网987,咨询管理公司,百度蜘蛛池自动收录seo文章目录 原题链接题目描述输入格式输出格式数据范围输入样例:输出样例: 题目分析示例代码 原题链接 1227. 分巧克力 题目难度:简单 题目来源:第八届蓝桥杯省赛C A/B组,第八届蓝桥杯省赛Java A/B/C组 题目描述 儿童节那天有 …

文章目录

  • 原题链接
    • 题目描述
        • 输入格式
        • 输出格式
        • 数据范围
        • 输入样例:
        • 输出样例:
    • 题目分析
    • 示例代码

原题链接

1227. 分巧克力

题目难度:简单

题目来源:第八届蓝桥杯省赛C++ A/B组,第八届蓝桥杯省赛Java A/B/C组

题目描述

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

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

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

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

切出的巧克力需要满足:

  1. 形状是正方形,边长是整数
  2. 大小相同

例如一块 6 × 5 6 \times 5 6×5 的巧克力可以切出 6 块 2 × 2 2 \times 2 2×2 的巧克力或者 2 块 3 × 3 3 \times 3 3×3 的巧克力。

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

输入格式

第一行包含两个整数 N 和 K。

以下 NN 行每行包含两个整数 H i H_i Hi W i W_i Wi

输入保证每位小朋友至少能获得一块 1 × 1 1 \times 1 1×1 的巧克力。

输出格式

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

数据范围

1 ≤ N , K ≤ 1 0 5 1 \le N,K \le 10^5 1N,K105,
1 ≤ H i , W i ≤ 1 0 5 1 \le H_i,W_i \le 10^5 1Hi,Wi105

输入样例:
2 10
6 5
5 6 
输出样例:
2 

题目分析

这道题就是将n个矩形,切出尽可能大的等长的k个正方形,求最大的可能正方形边长

我们可以发现一个规律,边长越大,切出来的正方形个数就越少,那我们其实是可以用公式表示出来每一个矩形能切多少块正方形的

假设正方形边长为x,最终切出来的正方形个数就是

⌊ W i x ⌋ × ⌊ H i x ⌋ \lfloor \frac{W_i}{x} \rfloor \times \lfloor \frac{H_i}{x} \rfloor xWi×xHi

这样,我们就可以看出来,块数是和边长一定是一个递减的函数关系

屏幕截图 2024-01-09 105806.png

我们需要找到一个个数大于等于k的对应的x的最大值

实际上就只需要找到对应的这个点,我们就可以使用二分的做法

那么判断的条件就是满足块数大于等于k的x的最大值

我们分情况来判断,假如x从小到大递增

如果中间值 x m i d x_{mid} xmid大于等于k是成立的,说明说明,比中间值小的所有数字,都是满足条件的,因此我们就要让左边界更新为中心值

示例代码

#include<iostream>
using namespace std;const int N = 1e5 + 10;int n, k;
int h[N], w[N]; // 分别代表每一块的高度和宽度bool check(int mid) // 判断块数是否大于k
{int res = 0; // 一共可以分成多少块for (int i = 0; i < n; i++){res += (w[i] / mid) * (h[i] / mid); // 注意括号if (res >= k)return true;}return false;
}
int main()
{cin >> n >> k;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) / 2;if (check(mid))l = mid;elser = mid - 1;}cout << r << '\n';return 0;
}
http://www.yayakq.cn/news/453245/

相关文章:

  • 网站后台上传不了图片十堰建网站
  • 做超市促销海报哪个网站好网站怎么设置关键词
  • 自己做的网站可以上架烟吗seo计费
  • 互联网网站项目方案书建设银行企业网银网站打不开
  • 企业网站开发信息开发网站需要哪些技术
  • 安徽做网站公司哪家好一点推介网手机版
  • 免费网站推广群发软件网站建设文字
  • 网站建设技术课程设计北京市建设工程信息网中标公告
  • 网站的建设需要考虑什么问题北京有多少互联网公司
  • 建筑公司网站大全建设一个网站需要几个角色
  • 做网站需要去哪里备案谷歌网站开发用什么框架
  • 网站有收录就会排名吗网页网站开发项目设计
  • 完整网站建设案例教程企业网站设计策划
  • 网站建设需求文档提供搜索引擎优化公司
  • 石家庄网站建设外包公司哪家好下瓦房做网站公司
  • 做网站九州科技广州做外贸网站
  • 山西网站建设开发团队阿里云备案网站名称
  • 企业网站一般用什么域名花生壳域名可以做网站域名吗
  • 公司网站建设视频教程企业网络营销网站设计
  • 网站站点风格医院关于建设官方网站的请示
  • 怀柔网站制作深圳市市长
  • 网站建设销售实训报告网站快速备案被退回的几种原因分析
  • 网站建设单一来源谈判文件我自己做的网站上有图片宣传食品
  • 用html做网站顺序wordpress去掉搜索框
  • 广东网站建设哪家有如果在工商局网站上做股权质押
  • 如何提升网站的流量网站推广app下载
  • 深圳微信网站设计百度百度一下官网
  • 云服务器 网站wordpress 400
  • 打开网站很慢网站套模板教程
  • 做园林景观的网站深圳网站建设服务哪一个便宜