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

it运维是什么工作百度seo快速见效方法

it运维是什么工作,百度seo快速见效方法,360免费建站永久免费,做的网站如何被百度搜到题解:P8647 [蓝桥杯 2017 省 AB] 分巧克力 题目传送门 题目链接 一、题目描述 小明有N块不同尺寸的巧克力,需要切出K块相同大小的正方形巧克力分给小朋友们。要求找到能满足条件的最大的正方形边长。 二、题目分析 我们需要从N块巧克力中切出K个相…

题解:P8647 [蓝桥杯 2017 省 AB] 分巧克力

题目传送门

题目链接

一、题目描述

小明有N块不同尺寸的巧克力,需要切出K块相同大小的正方形巧克力分给小朋友们。要求找到能满足条件的最大的正方形边长。

二、题目分析

我们需要从N块巧克力中切出K个相同大小的正方形,且这些正方形要尽可能大。关键在于如何高效地找到满足条件的最大边长。

三、解题思路

  1. 二分查找:正方形的可能边长范围是1到最大巧克力的最小边长,我们可以用二分法在这个范围内查找。
  2. 验证函数:对于每个可能的边长,计算所有巧克力能切出多少个该尺寸的正方形,判断总数是否≥K。

四、算法讲解

使用二分查找来优化搜索过程:

  • 左边界l:初始为0,表示最小可能边长
  • 右边界r:初始为1e5+10,表示最大可能边长
  • 中间值mid:每次取中间值验证
  • 验证函数check:计算所有巧克力能切出多少个mid×mid的正方形

例如样例输入:

2 10  
6 5  
5 6
  • 当mid=2时:第一块切出(6/2)(5/2)=6块,第二块切出(5/2)(6/2)=6块,总共12≥10,满足条件
  • 当mid=3时:总共只能切出4块<10,不满足条件

五、代码实现

#include <bits/stdc++.h>
using namespace std;
// #define int long long
const int N = 1e5 + 10;
int n, k;
int h[N], w[N];// 检查是否能切出足够数量的边长为x的正方形
bool check(int x)
{int sum = 0;for (int i = 1; i <= n; i ++){sum += (h[i] / x) * (w[i]/ x); // 计算第i块巧克力能切出的数量if (sum >= k) return true; // 提前终止,优化效率}return sum >= k;
}void solve()
{cin >> n >> k;for (int i = 1; i <= n; i ++)cin >> h[i] >> w[i];int l = 0, r = N; // 初始化二分边界// 二分查找最大满足条件的边长while (l + 1 != r){int mid = l + r >> 1; // 等同于(l+r)/2if (check(mid))l = mid; // 满足条件,尝试更大的边长elser = mid; // 不满足条件,尝试更小的边长}cout << l; // 输出最终找到的最大边长}
signed main()
{ios::sync_with_stdio(false), cin.tie(0), cout.tie(0);solve();return 0;
}

六、重点细节

  1. 二分边界初始化:l=0,r=N(1e5+10),确保覆盖所有可能边长
  2. 提前终止:在check函数中,一旦sum≥k就立即返回true,优化效率
  3. 整数除法:计算每块巧克力能切出的数量时使用整数除法,自动向下取整
  4. 二分终止条件:使用l+1!=r确保正确找到边界

七、复杂度分析

  • 时间复杂度:O(N log M),其中N是巧克力数量,M是最大可能边长(1e5)
    • 二分查找需要O(log M)次迭代
    • 每次check函数需要O(N)时间
  • 空间复杂度:O(N),用于存储巧克力尺寸

八、总结

本题通过二分查找将问题转化为验证性问题,显著提高了效率。关键在于:

  1. 确定二分查找的边界
  2. 设计高效的验证函数
  3. 处理边界条件和优化计算

这种"二分答案+验证"的思路在解决最大值最小化或最小值最大化问题时非常有效。

http://www.dtcms.com/wzjs/399880.html

相关文章:

  • 西安做网站微信公司哪家好如何进行网站推广
  • 秦皇岛网站公司廊坊网站推广公司
  • 建设企业网站得花多少营销网店推广的软文
  • 网站首页广告图片伸缩代码又关闭西安发布最新通知
  • 传媒公司商业计划书seo网络推广怎么做
  • 深圳西乡网站建设公司青岛seo关键词
  • 企业网站建设一条龙用广州seo推广获精准访问量
  • 个人做网站有什么坏处我想做app推广代理
  • 上海网站建设-网建知识百度学术论文查重官网入口
  • 织梦网站怎么重新安装网络舆情监测
  • 做网站现在赚钱吗百度一下就会知道了
  • 国外网站案例厦门seo网站推广
  • 专门做网站的公司与外包公司如何屏蔽百度广告推广
  • 网站论坛做斑竹网络公司网页设计
  • 佛山营销网站建设联系方式上海关键词优化的技巧
  • 金色世纪做网站的是哪个岗位关键词排名快速提升
  • 网站推广方法海豚湾陕西优化疫情防控措施
  • 有哪几种语言做的网站软文写作是什么
  • 武汉市疫情最新情况百度首页关键词优化
  • 深圳网站建设公司开发制作网站手机制作网页
  • 浙江网站建设流程网页模板下载
  • 网站官网建设上海最新发布
  • 福州专业网站建设免费直链平台
  • 张家港网站制作服务站长网站查询工具
  • 建设银行湖北省分行 网站湖南专业的关键词优化
  • 深圳app网站建设东莞哪种网站推广好
  • 山西省轻工建设有限责网站yandex搜索入口
  • 好的免费网站建站平台五合一网站建设
  • 富德生命人寿保险公司官方网站企业培训方案
  • 小姑娘做javaseo com