分巧克力 刷題筆記

/*
分巧克力 解題思路?
二分?
直接檢查看答案是否符合題目條件
對于一塊邊長分別為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;?
}

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/719641.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/719641.shtml
英文地址,請注明出處:http://en.pswp.cn/news/719641.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

管家婆訂貨易在線商城 VshopProcess 任意文件上傳漏洞復現

0x01 產品簡介 管家婆訂貨易,幫助傳統企業構建專屬的訂貨平臺,PC+微信+APP+小程序+h5商城5網合一,無縫對接線下的管家婆ERP系統,讓用戶訂貨更高效。支持業務員代客下單,支持多級推客分銷,以客帶客,拓展渠道。讓企業的生意更輕松。 0x02 漏洞概述 管家婆訂貨易在線商城…

Matlab 機器人工具箱 符合動力學

文章目錄 1 符合化表示1.1 標準DH動力學1.2 改進DH動力學 質量集中在質心1.2 改進DH動力學 質量集中在末端1.3 程序問題1.3.1 Unable to perform assignment because value of type sym is not convertible to double.1.3.2 CAT arguments dimensions not consistent.參考鏈接1…

一篇了解電阻的使用

目錄 一、電阻理論基礎 1.電阻的定義 2.歐姆定律 3.電阻決定式 4.電阻的串并聯?編輯 5.電阻的功率 6.溫度對電阻的影響 二、電阻的選型 1.安裝方式 2.電阻值 &#xff08;1&#xff09;電阻值的標稱 &#xff08;2&#xff09;電阻值的確定 &#xff08;3&#x…

test only

https://drive.google.com/viewer?urlhttps://www.labnol.org/files/word.docx 使用插件將html -> pdf 要在React中使用react-pdf將一段HTML代碼轉換為PDF&#xff0c;您可以按照以下步驟進行操作&#xff1a; 1. 安裝react-pdf&#xff1a;在您的React項目中&#xff0…

[python] 構建數據流水線(pipeline)

Plum 是一個用于構建數據流水線&#xff08;pipeline&#xff09;的 Python 庫&#xff0c;它旨在簡化和優化數據處理流程&#xff0c;使得數據流轉和處理變得更加清晰、高效和可維護。下面我將更詳細地介紹 Plum 的特點、功能和使用方法。 Plum 的主要特點和功能&#xff1a;…

利用Vue3的新API(customRef)實現防抖效果

customRef是創建一個自定義的 ref&#xff0c;然后顯式聲明對其依賴追蹤和更新觸發的控制方式。因為ref是直接更新的&#xff0c;數據修改會馬上更新&#xff0c;而customRef可以認為控制更新的過程&#xff0c;比如可以利用這個api控制 空格輸入限制、數據更新速度控制、違規內…

小語言模型(SLM)介紹

大型語言模型&#xff08;LLM&#xff09;&#xff0c;如GPT、Claude等的出現&#xff0c;證明了它們是人工智能領域的一項變革性步伐&#xff0c;徹底革新了機器學習模型的強大性質&#xff0c;并在改變AI生態系統中發揮了重要作用&#xff0c;促使生態系統中的每個成員都必須…

石頭里的傳奇故事—沉積巖

“ 沉積巖者&#xff0c;地質歷史之積淀者也。” 野外發現層狀延伸的巖石出露&#xff0c;發現的巖石呈現灰白色&#xff0c;主要礦物為磨圓度好的石英顆粒&#xff0c;石英粒徑為1-2mm。巖石質地堅硬。石英顆粒間填充物黏土物質&#xff0c;滴加鹽酸未見氣泡&#xff0c;斜層…

springboot242基于SpringBoot的失物招領平臺的設計與實現

失物招領平臺 摘 要 科學技術的不斷發展&#xff0c;計算機的應用日漸成熟&#xff0c;其強大的功能給人們留下深刻的印象&#xff0c;它已經應用到了人類社會的各個層次的領域&#xff0c;發揮著重要的不可替換的作用。信息管理作為計算機應用的一部分&#xff0c;使用計算機…

C++ 之LeetCode刷題記錄(三十七)

&#x1f604;&#x1f60a;&#x1f606;&#x1f603;&#x1f604;&#x1f60a;&#x1f606;&#x1f603; 開始cpp刷題之旅。 目標&#xff1a;執行用時擊敗90%以上使用 C 的用戶。 17. 電話號碼的字母組合 給定一個僅包含數字 2-9 的字符串&#xff0c;返回所有它能表…

LeetCode25 搜索插入位置

題目 給定一個排序數組和一個目標值&#xff0c;在數組中找到目標值&#xff0c;并返回其索引。 如果目標值不存在于數組中&#xff0c;返回它將會被按順序插入的位置。 示例 示例 1:輸入: nums [1,3,5,6], target 5 輸出: 2 示例 2:輸入: nums [1,3,5,6], target 2 輸出: …

OceanPen Art AI繪畫系統內容講解

在一個崇高的目標支持下&#xff0c;不停地工作&#xff0c;即使慢&#xff0c;也一定會獲得成功。 —— 愛因斯坦 演示站點&#xff1a; ai.oceanpen.art官方論壇&#xff1a; www.jingyuai.com &#x1f4a1;技術棧 前端&#xff1a;VUE3后端&#xff1a;Java數據&#xf…

【硬件相關】SMART硬盤健康狀態監測

文章目錄 一、前言1、SMART技術介紹2、SMART功能作用3、SMART運行原理 二、部署實踐1、SMART軟件安裝2、SMART操作命令2.1、狀態查詢2.2、健康測試 3、SMART信息解讀 三、異常預測 一、前言 Wikipedia&#xff1a; Self-Monitoring,_Analysis_and_Reporting_Technology 1、SMAR…

5G網絡架構與組網部署01--5G網絡架構的演進趨勢

目錄 1. 5G網絡架構的演進趨勢 1.1 5G移動通信系統整體架構 1.2 4G移動通信系統整體架構 1.3 4G與5G移動通信系統整體架構對比 1.4 核心網架構演進 1.5 無線接入網演進 1. 整體架構組成&#xff1a;接入網&#xff0c;核心網 2. 5G網絡接入網和核心網對應的網元&#xff…

es集群的詳細搭建過程

目錄 一、VM配置二、集群搭建三、集群配置 一、VM配置 VM的安裝 VMware Workstation 15 Pro的安裝與破解 VM新建虛擬機 VM新建虛擬機 二、集群搭建 打開新建好的服務器&#xff0c;node1&#xff0c;使用xshell遠程連接 下載es&#xff1a;https://www.elastic.co/cn/down…

內網穿透的應用-如何修改Nginx服務location代理轉發規則結合cpolar實現無公網ip環境訪問內網站點

文章目錄 1. 下載windows版Nginx2. 配置Nginx3. 測試局域網訪問4. cpolar內網穿透5. 測試公網訪問6. 配置固定二級子域名7. 測試訪問公網固定二級子域名 1. 下載windows版Nginx 進入官方網站(http://nginx.org/en/download.html)下載windows版的nginx 下載好后解壓進入nginx目…

問題解決:各版本的vc_redist下載地址 缺少msvcr100.dll、msvcr120.dll、msvcr140.dll

Visual C Redistributable for Visual Studio各版本的官方鏈接。解決缺少msvcr100.dll、msvcr120.dll、msvcr140.dll的問題。 下面全部為官方鏈接&#xff1a; Microsoft Visual C Redistributable 2019 x86: https://aka.ms/vs/16/release/VC_redist.x86.exe x64: https://ak…

【S32DS報錯】-5-提示Secure Debug might be enabled on this device錯誤

【S32K3_MCAL從入門到精通】合集&#xff1a; S32K3_MCAL從入門到精通https://blog.csdn.net/qfmzhu/category_12519033.html 問題背景&#xff1a; 在S32DS IDE中使用PEmicro&#xff08;Multilink ACP&#xff0c;Multilink Universal&#xff0c;Multilink FX&#xff09…

自適應控制算法講解-案例(附C代碼)

目錄 一、自適應控制算法的基本原理 二、自適應控制算法分類 三、案例 3.1自適應PID控制 1&#xff09; 模型識別 2&#xff09;動態調整PID參數邏輯 3&#xff09;PID控制器 自適應控制算法是一種高級控制算法&#xff0c;用于處理那些參數不確定或者動態變化的系統。這類…

SwiftUI 在 App 中彈出全局消息橫幅(下)

功能需求 在 SwiftUI 開發的 App 界面中,有時我們需要在全局層面向用戶展示一些消息: 如上圖所示:我們彈出的全局消息橫幅位于所有視圖之上,這意味這它不會被任何東西所遮擋;而且用戶可以點擊該橫幅關閉它。這是怎么做到的呢? 在本篇博文中,您將學到以下內容 功能需求…