分巧克力 刷题笔记

/*
分巧克力 解题思路
二分
直接检查看答案是否符合题目条件
对于一块边长分别为x 和y的巧克力\\
假设我们输入检查的数为k
其能分割成的 k*k 的巧克力的块数为
(x/k)*(y/k)
因为c++里面的除法是下取整的所以我们不用考虑奇偶数 是否能整除
将每一块巧克力能分成的k*k的巧克力块数加上计数器
一旦计数器超过了孩子数 我们就返回true;
如果check 不通过的话 可能是分的太大了
所以答案小于mid
于是我们让r=mid-1
如果check通过
则答案>=mid 所以我们让l=mid
重点 讨论边界情况
例如案例中
2 10
6 5
5 6
输出2
当 l指向2 r指向3
mid=(l+r)>>1;的话 mid 是2
此时check可以通过
但是l=2,r=3;
如果还是l=mid=2则陷入死循环
于是 我们让mid=(l+r+1)>>1
让其进行上取整
则 mid=3;
check不通过
此时 r=mid-1=l;
退出循环
输出l或者r即可
*/
代码
#include<iostream>
#include<algorithm>
#include<cstdio>
#include<cstring>
using namespace std;
const int N=1e5+10;
struct node{
int x;
int y;
}a[N];
int n,k;
bool check(int p){
int cnt=0;
bool flag=false;
// cout<<"p is "<<p<<endl;
for(int i=0;i<n;i++){
cnt=cnt+(a[i].x /p)*(a[i].y /p);
//cout <<cnt<<endl;
if(cnt>=k){
flag= true;
break;
}
}
return flag;
}
int main(){
cin>>n>>k;
int r=0;
for(int i=0;i<n;i++){
cin>>a[i].x >>a[i].y;
if(a[i].x >a[i].y ){
if(a[i].x >r){
r=a[i].x ;
}
}else{
if(a[i].y >r){
r=a[i].y ;
}
}
}
// cout<<r<<endl;
int l=0;
while(l<r){
int mid=(l+r+1)>>1;
//cout<<mid<<endl;
if(check(mid)){
l=mid;
}else{
r=mid-1;
}
//cout<<"l is"<<l<<endl<<"r is "<<r<<endl;
}
cout <<l;
return 0;
}
相关文章:
分巧克力 刷题笔记
/* 分巧克力 解题思路 二分 直接检查看答案是否符合题目条件 对于一块边长分别为x 和y的巧克力\\ 假设我们输入检查的数为k 其能分割成的 k*k 的巧克力的块数为 (x/k)*(y/k) 因为c里面的除法是下取整的所以我们不用考虑奇偶数 是否能整除 将每一块巧克力能分成的k*k的巧克力…...
Python图像处理【21】基于卷积神经网络增强微光图像
基于卷积神经网络增强微光图像 0. 前言1. MBLLEN 网络架构2. 增强微光图像小结系列链接 0. 前言 在本节中,我们将学习如何基于预训练的深度学习模型执行微光/夜间图像增强。由于难以同时处理包括亮度、对比度、伪影和噪声在内的所有因素,因此微光图像增…...
【嵌入式——QT】QTreeWidget
QTreeWidget类是创建和管理目录树结构的类,QTreeWidget每一个节点都是一个QTreeWidgetItem对象,添加一个节点前需先创建。QTreeWidget类是一个便利类,它提供了一个标准的树widget,具有经典的基于item的界面,类似于Qt 3…...
SQL 术语:Join 中的 Build 和 Probe 是什么意思?
博主历时三年精心创作的《大数据平台架构与原型实现:数据中台建设实战》一书现已由知名IT图书品牌电子工业出版社博文视点出版发行,点击《重磅推荐:建大数据平台太难了!给我发个工程原型吧!》了解图书详情,…...
HTTP头部信息解释分析(详细整理)
这篇文章为大家介绍了HTTP头部信息,中英文对比分析,还是比较全面的,若大家在使用过程中遇到不了解的,可以适当参考下 HTTP 头部解释 1. Accept:告诉WEB服务器自己接受什么介质类型,*/* 表示任何类型&#…...
探究短链接生成算法
1. 引言 在互联网时代,链接是连接用户和信息的桥梁,而长链接可能会因为过长、难记、不美观等问题影响用户体验,因此短链接的出现填补了这一空缺。短链接是将原始的长链接通过一定的算法转换成短字符串,从而实现了链接的简洁化&am…...
golang 实现http请求的调用,访问并读取页面数据和内置的一些方法
下午就不能好好学习一下golang,业务一直找个不停,自己定的业务规则都能忘得一干二净,让你查半天,完全是浪费时间。 golang实现访问并读取页面数据 package mainimport ("fmt""net/http" )var urls []string{…...
FFmpeg+OpenCV开发案例汇总
桌面共享工具(软编版) 桌面共享工具(DXGI硬编版) 智能广告大屏(可叠加透明广告) Android手机屏幕RTMP推流工具(推麦克风版) Android手机屏幕RTMP推流工具(推扬声器版…...
PySide6+VSCode Python可视化环境搭建
pip install pyside6 下载本期源码 vscode装一个PYQT Integration插件,设置好两个路径(下面有个脚本用于获取路径) 用everything的童鞋注意了:工具/选项/索引/强制重建 重启vscode可以看到,右击.ui文件时出现可以操作…...
【设计】设计一个web版的数据库管理平台后端精要
需求 springboot设计开发一个系统,在这个系统的数据库表中存放着2000个数据库实例,有MySQL、Oracle、sql server3种数据库类型,用户可以在页面上选择不同的实例,连接这些实例上的数据库,来执行业务sql 实现 Service…...
没有硬件基础可以学单片机吗?
没有硬件基础可以学单片机吗? 在开始前我分享下我的经历,我刚入行时遇到一个好公司和师父,给了我机会,一年时间从3k薪资涨到18k的, 我师父给了一些 电气工程师学习方法和资料,让我不断提升自己,…...
ChatGPT引领的AI面试攻略系列:cuda和tensorRT
系列文章目录 cuda和tensorRT(本文)AI全栈工程师 文章目录 系列文章目录一、前言二、面试题1. CUDA编程基础2. CUDA编程进阶3. 性能优化4. TensorRT基础5. TensorRT进阶6. 实际应用与案例分析7. 编程与代码实践8. 高级话题与趋势 一、前言 随着人工智能…...
【战略前沿】人形机器人制造商Figure获得了OpenAI、Jeff Bezos、Nvidia和其他科技巨头的资助
原文:Humanoid robot-maker Figure gets funding from OpenAI, Jeff Bezos, Nvidia, and other tech giants 作者:ASSOCIATED PRESS ———————————————— Figure成立不到两年,还没有商业产品,但正在说服有影响力的…...
多块磁盘组磁盘离线导致VSAN存储崩溃的VSAN数据恢复案例
VSAN简介: VSAN是以vSphere内核为基础进行开发、可扩展的分布式存储架构。VSAN存储层由VSAN控制和管理,VSAN存储层是通过vSphere集群主机中闪存和硬盘的存储空间构建的,供vSphere集群使用的统一共享存储层。 VSAN存储是一个对象存储ÿ…...
Jenkins 的安装(详细教程)
文章目录 一、简介二、安装前准备三、windows 安装与启动1. 方式一2. 方式二3. 方式三 四、创建管理员用户五、常用设置1. 配置镜像地址2. 更改工作目录3. 开启可注册用户4. 全局变量配置 一、简介 官网:https://www.jenkins.io 中文文档:https://www.j…...
使用html网页播放多个视频的几种方法
前言 因为项目测试需要,我需要可以快速知道自己推流的多路视频流质量,于是我想到可以使用html网页来播放视频,实现效果极其简单,方法有好几种,以下是几种记录: 注意:测试过,VLC需要使…...
python 基础知识点(蓝桥杯python科目个人复习计划58)
今日复习内容:做题 例题1:仙境诅咒 问题描述: 在一片神秘的仙境中,有N位修仙者,他们各自在仙境中独立修炼,拥有他们独特的修炼之地和修炼之道,修炼者们彼此之间相互尊重,和平相处…...
【基于React实现共享单车管理系统】—React基础知识巩固(二)
【基于React实现共享单车管理系统】—React基础知识巩固(二) 一、React介绍 Facebook开源的一个JavaScript库React结合生态构成的一个MV*库 React的特点 Declarative(声明式编码)Component-Based(组件化编码&#…...
云桥通+跨境电商:SDWAN企业组网优化跨境网络案例
跨境电商企业在全球范围内展开业务,需构建稳定高效的网络架构以支持其电商平台运营。云桥通SDWAN企业组网技术为跨境电商提供网络连接和管理的优化,提升网络性能、可靠性和安全性。以下是一家跨境电商企业的SDWAN组网案例,详细介绍其实施情况…...
服务器有几种http强制跳转https设置方法
目前为站点安装SSL证书开启https加密访问已经是件很简单的事了,主要是免费SSL证书的普及,为大家提供了很好的基础。 Apache环境下如何http强制跳转https访问。Nginx环境下一般是通过修改“你的域名.conf”文件来实现的。 而Apache环境下通过修改.htacces…...
别再死记硬背了!用Spark实战电影评分分析,手把手教你搞定Join操作与数据清洗
用Spark实战电影评分分析:从数据清洗到Join操作的完整指南 每次看到电影评分网站上的"Top 100"榜单,你有没有好奇过背后的数据处理逻辑?作为Spark初学者,你可能已经啃了不少官方文档,但面对真实数据集时依然…...
5步实现《鸣潮》游戏体验全面升级:WuWa-Mod模组高效部署指南
5步实现《鸣潮》游戏体验全面升级:WuWa-Mod模组高效部署指南 【免费下载链接】wuwa-mod Wuthering Waves pak mods 项目地址: https://gitcode.com/GitHub_Trending/wu/wuwa-mod 还在为《鸣潮》游戏中的技能冷却、体力限制和繁琐操作而烦恼吗?WuW…...
QQ空间数据备份指南:三步骤永久保存你的数字青春
QQ空间数据备份指南:三步骤永久保存你的数字青春 【免费下载链接】QZoneExport QQ空间导出助手,用于备份QQ空间的说说、日志、私密日记、相册、视频、留言板、QQ好友、收藏夹、分享、最近访客为文件,便于迁移与保存 项目地址: https://gitc…...
文档下载神器kill-doc:如何快速免费下载30+平台的文档资源
文档下载神器kill-doc:如何快速免费下载30平台的文档资源 【免费下载链接】kill-doc 看到经常有小伙伴们需要下载一些免费文档,但是相关网站浏览体验不好各种广告,各种登录验证,需要很多步骤才能下载文档,该脚本就是为…...
驱动教学模式革新:广凌智慧教学融合平台如何实现个性化教学?
随着高等教育从“知识为主”向“能力为先”深刻转型,千人千面的个性化学习已成为未来教育的核心诉求。传统的统一内容、统一路径的教学模式,已难以满足学生差异化的发展需要。如何借助技术手段实现真正的因材施教?广凌智慧教学融合平台以人工…...
JMeter分布式压测实战:突破单机瓶颈的原理与落地
1. 为什么单台JMeter跑不动你的压测任务?你是不是也遇到过这样的场景:在本地用JMeter跑一个5000并发的HTTP请求,CPU直接飙到98%,内存告急,响应时间曲线像心电图一样乱跳,结果还没导出,JMeter自己…...
百度网盘高速下载神器:baidu-wangpan-parse全攻略,告别龟速下载!
百度网盘高速下载神器:baidu-wangpan-parse全攻略,告别龟速下载! 【免费下载链接】baidu-wangpan-parse 获取百度网盘分享文件的下载地址 项目地址: https://gitcode.com/gh_mirrors/ba/baidu-wangpan-parse 还在为百度网盘那令人抓狂…...
别再只用Selenium了!手把手教你用Python+UIAutomation+Unittest搭建Windows应用自动化测试框架
从Selenium到UIAutomation:Windows GUI自动化测试实战进阶指南 当Web自动化测试工程师首次接触Windows桌面应用测试时,往往会陷入工具选择的困境。传统基于坐标操作的自动化方案难以应对动态界面变化,而商业工具又存在学习成本高、灵活性不足…...
机器视觉开发-使用YOLO8预训练模型检测目标
在计算机视觉领域,目标检测是一项基础而重要的任务。今天,我将介绍如何使用Ultralytics的YOLOv8库,仅用一行代码就能实现强大的目标检测功能。YOLOv8简介YOLO(You Only Look Once)是一种流行的实时目标检测算法&#x…...
即插即用AI记忆协议:跨模型兼容的记忆中间件
1. 项目概述:不是“插件”,而是一套可即插即用的AI记忆增强协议你有没有遇到过这样的情况:刚让大模型帮你梳理完一份30页产品需求文档的逻辑漏洞,转头问它“第三章提到的用户分层标准是否和第五章的测试样本筛选条件冲突”&#x…...
