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

分巧克力 刷题笔记

/*
分巧克力 解题思路 
二分 
直接检查看答案是否符合题目条件
对于一块边长分别为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. 前言 在本节中&#xff0c;我们将学习如何基于预训练的深度学习模型执行微光/夜间图像增强。由于难以同时处理包括亮度、对比度、伪影和噪声在内的所有因素&#xff0c;因此微光图像增…...

【嵌入式——QT】QTreeWidget

QTreeWidget类是创建和管理目录树结构的类&#xff0c;QTreeWidget每一个节点都是一个QTreeWidgetItem对象&#xff0c;添加一个节点前需先创建。QTreeWidget类是一个便利类&#xff0c;它提供了一个标准的树widget&#xff0c;具有经典的基于item的界面&#xff0c;类似于Qt 3…...

SQL 术语:Join 中的 Build 和 Probe 是什么意思?

博主历时三年精心创作的《大数据平台架构与原型实现&#xff1a;数据中台建设实战》一书现已由知名IT图书品牌电子工业出版社博文视点出版发行&#xff0c;点击《重磅推荐&#xff1a;建大数据平台太难了&#xff01;给我发个工程原型吧&#xff01;》了解图书详情&#xff0c;…...

HTTP头部信息解释分析(详细整理)

这篇文章为大家介绍了HTTP头部信息&#xff0c;中英文对比分析&#xff0c;还是比较全面的&#xff0c;若大家在使用过程中遇到不了解的&#xff0c;可以适当参考下 HTTP 头部解释 1. Accept&#xff1a;告诉WEB服务器自己接受什么介质类型&#xff0c;*/* 表示任何类型&#…...

探究短链接生成算法

1. 引言 在互联网时代&#xff0c;链接是连接用户和信息的桥梁&#xff0c;而长链接可能会因为过长、难记、不美观等问题影响用户体验&#xff0c;因此短链接的出现填补了这一空缺。短链接是将原始的长链接通过一定的算法转换成短字符串&#xff0c;从而实现了链接的简洁化&am…...

golang 实现http请求的调用,访问并读取页面数据和内置的一些方法

下午就不能好好学习一下golang&#xff0c;业务一直找个不停&#xff0c;自己定的业务规则都能忘得一干二净&#xff0c;让你查半天&#xff0c;完全是浪费时间。 golang实现访问并读取页面数据 package mainimport ("fmt""net/http" )var urls []string{…...

FFmpeg+OpenCV开发案例汇总

桌面共享工具&#xff08;软编版&#xff09; 桌面共享工具&#xff08;DXGI硬编版&#xff09; 智能广告大屏&#xff08;可叠加透明广告&#xff09; Android手机屏幕RTMP推流工具&#xff08;推麦克风版&#xff09; Android手机屏幕RTMP推流工具&#xff08;推扬声器版…...

PySide6+VSCode Python可视化环境搭建

pip install pyside6 下载本期源码 vscode装一个PYQT Integration插件&#xff0c;设置好两个路径&#xff08;下面有个脚本用于获取路径&#xff09; 用everything的童鞋注意了&#xff1a;工具/选项/索引/强制重建 重启vscode可以看到&#xff0c;右击.ui文件时出现可以操作…...

【设计】设计一个web版的数据库管理平台后端精要

需求 springboot设计开发一个系统&#xff0c;在这个系统的数据库表中存放着2000个数据库实例&#xff0c;有MySQL、Oracle、sql server3种数据库类型&#xff0c;用户可以在页面上选择不同的实例&#xff0c;连接这些实例上的数据库&#xff0c;来执行业务sql 实现 Service…...

没有硬件基础可以学单片机吗?

没有硬件基础可以学单片机吗&#xff1f; 在开始前我分享下我的经历&#xff0c;我刚入行时遇到一个好公司和师父&#xff0c;给了我机会&#xff0c;一年时间从3k薪资涨到18k的&#xff0c; 我师父给了一些 电气工程师学习方法和资料&#xff0c;让我不断提升自己&#xff0c…...

ChatGPT引领的AI面试攻略系列:cuda和tensorRT

系列文章目录 cuda和tensorRT&#xff08;本文&#xff09;AI全栈工程师 文章目录 系列文章目录一、前言二、面试题1. CUDA编程基础2. CUDA编程进阶3. 性能优化4. TensorRT基础5. TensorRT进阶6. 实际应用与案例分析7. 编程与代码实践8. 高级话题与趋势 一、前言 随着人工智能…...

【战略前沿】人形机器人制造商Figure获得了OpenAI、Jeff Bezos、Nvidia和其他科技巨头的资助

原文&#xff1a;Humanoid robot-maker Figure gets funding from OpenAI, Jeff Bezos, Nvidia, and other tech giants 作者&#xff1a;ASSOCIATED PRESS ———————————————— Figure成立不到两年&#xff0c;还没有商业产品&#xff0c;但正在说服有影响力的…...

多块磁盘组磁盘离线导致VSAN存储崩溃的VSAN数据恢复案例

VSAN简介&#xff1a; VSAN是以vSphere内核为基础进行开发、可扩展的分布式存储架构。VSAN存储层由VSAN控制和管理&#xff0c;VSAN存储层是通过vSphere集群主机中闪存和硬盘的存储空间构建的&#xff0c;供vSphere集群使用的统一共享存储层。 VSAN存储是一个对象存储&#xff…...

Jenkins 的安装(详细教程)

文章目录 一、简介二、安装前准备三、windows 安装与启动1. 方式一2. 方式二3. 方式三 四、创建管理员用户五、常用设置1. 配置镜像地址2. 更改工作目录3. 开启可注册用户4. 全局变量配置 一、简介 官网&#xff1a;https://www.jenkins.io 中文文档&#xff1a;https://www.j…...

使用html网页播放多个视频的几种方法

前言 因为项目测试需要&#xff0c;我需要可以快速知道自己推流的多路视频流质量&#xff0c;于是我想到可以使用html网页来播放视频&#xff0c;实现效果极其简单&#xff0c;方法有好几种&#xff0c;以下是几种记录&#xff1a; 注意&#xff1a;测试过&#xff0c;VLC需要使…...

python 基础知识点(蓝桥杯python科目个人复习计划58)

今日复习内容&#xff1a;做题 例题1&#xff1a;仙境诅咒 问题描述&#xff1a; 在一片神秘的仙境中&#xff0c;有N位修仙者&#xff0c;他们各自在仙境中独立修炼&#xff0c;拥有他们独特的修炼之地和修炼之道&#xff0c;修炼者们彼此之间相互尊重&#xff0c;和平相处…...

【基于React实现共享单车管理系统】—React基础知识巩固(二)

【基于React实现共享单车管理系统】—React基础知识巩固&#xff08;二&#xff09; 一、React介绍 Facebook开源的一个JavaScript库React结合生态构成的一个MV*库 React的特点 Declarative&#xff08;声明式编码&#xff09;Component-Based&#xff08;组件化编码&#…...

云桥通+跨境电商:SDWAN企业组网优化跨境网络案例

跨境电商企业在全球范围内展开业务&#xff0c;需构建稳定高效的网络架构以支持其电商平台运营。云桥通SDWAN企业组网技术为跨境电商提供网络连接和管理的优化&#xff0c;提升网络性能、可靠性和安全性。以下是一家跨境电商企业的SDWAN组网案例&#xff0c;详细介绍其实施情况…...

服务器有几种http强制跳转https设置方法

目前为站点安装SSL证书开启https加密访问已经是件很简单的事了&#xff0c;主要是免费SSL证书的普及&#xff0c;为大家提供了很好的基础。 Apache环境下如何http强制跳转https访问。Nginx环境下一般是通过修改“你的域名.conf”文件来实现的。 而Apache环境下通过修改.htacces…...

OpCore Simplify:智能化系统定制的突破与实践

OpCore Simplify&#xff1a;智能化系统定制的突破与实践 【免费下载链接】OpCore-Simplify A tool designed to simplify the creation of OpenCore EFI 项目地址: https://gitcode.com/GitHub_Trending/op/OpCore-Simplify 为什么超过68%的开发者在首次配置OpenCore E…...

BilibiliDown:跨平台B站视频下载器的完整使用指南

BilibiliDown&#xff1a;跨平台B站视频下载器的完整使用指南 【免费下载链接】BilibiliDown (GUI-多平台支持) B站 哔哩哔哩 视频下载器。支持稍后再看、收藏夹、UP主视频批量下载|Bilibili Video Downloader &#x1f633; 项目地址: https://gitcode.com/gh_mirrors/bi/Bi…...

PaddleOCR模型选型避坑指南:从‘轻量级模型缺失文件’到‘通用模型实战’

PaddleOCR模型选型避坑指南&#xff1a;从轻量级到通用模型的实战解析 第一次接触PaddleOCR时&#xff0c;面对琳琅满目的模型选择&#xff0c;很多开发者都会陷入困惑&#xff1a;轻量级模型和通用模型到底有什么区别&#xff1f;为什么下载的轻量级模型总是提示缺少文件&…...

零基础5分钟部署AI股票分析师:Ollama本地大模型一键生成专业报告

零基础5分钟部署AI股票分析师&#xff1a;Ollama本地大模型一键生成专业报告 1. 为什么你需要一个本地AI股票分析师 在金融投资领域&#xff0c;及时获取专业分析报告是做出明智决策的关键。但传统方式存在几个痛点&#xff1a; 数据隐私问题&#xff1a;使用在线分析工具需…...

Excel VBA 技巧:让工作表中的形状宏自适应

在日常工作中,Excel 不仅仅是数据处理的工具,更是我们自动化办公的利器。今天我们要探讨的是如何让Excel工作表中的形状宏能够自适应地工作,即使在复制工作表到新的工作簿时也能保持其功能性。 问题背景 假设我们有一个工作簿BOOK1,其中包含一个名为TEST的工作表和一个名…...

Yi-Coder-1.5B实战:快速生成Python算法与前端组件代码

Yi-Coder-1.5B实战&#xff1a;快速生成Python算法与前端组件代码 1. 开篇&#xff1a;你的随身编程助手 想象一下&#xff0c;你正在为一个新项目搭建框架&#xff0c;需要写一个快速排序算法&#xff0c;或者需要一个美观的React按钮组件。你打开搜索引擎&#xff0c;在无数…...

SEO网站推广的长期效果如何_SEO网站推广对网站优化有什么要求

SEO网站推广的长期效果如何 在当今互联网时代&#xff0c;SEO网站推广已经成为提升网站流量和品牌知名度的关键手段。SEO&#xff0c;即搜索引擎优化&#xff0c;通过优化网站结构、内容和外部链接&#xff0c;提高网站在搜索引擎结果页面&#xff08;SERP&#xff09;中的排名…...

OpenClaw多账户管理:千问3.5-9B自动切换社交平台身份

OpenClaw多账户管理&#xff1a;千问3.5-9B自动切换社交平台身份 1. 为什么需要自动化多账户管理 作为一个长期运营多个社交媒体账号的内容创作者&#xff0c;我每天需要切换不同平台的账号身份。手动登录不仅耗时&#xff0c;还经常遇到浏览器缓存混乱导致账号异常的问题。更…...

SPPF中的CSP结构解析

在YOLOv5/v8等目标检测模型中&#xff0c;SPPF 内的 CSP 结构特指 SPPFCSPC 模块或类似变体。它是一种将空间金字塔池化层&#xff08;SPPF&#xff09; 与跨阶段部分网络思想&#xff08;CSPNet&#xff09; 紧密结合的复合模块&#xff0c;旨在更高效地进行多尺度特征融合并提…...

直接可用4轴插补算法库,STM32的DDA插补联动与梯形加减速算法代码

可以直接使用的4轴插补算法库&#xff0c;不是丢给你一堆gr1b或者写字机或者3d打印的开源代码&#xff0c;本运控库上项目级别的&#xff0c;需要添加在自己的项目中&#xff0c;不支持gm码&#xff0c;只有运动控制核心代码&#xff0c;可以添加在自己项目中的&#xff0c;stm…...