划分巧克力
分巧克力问题描述儿童节那天有 KK位小朋友到小明家做客。小明拿出了珍藏的巧克力招待小朋友们。小明一共有 NN块巧克力其中第 ii块是 Hi×WiH**i×W**i的方格组成的长方形。为了公平起见小明需要从这 NN块巧克力中切出 K 块巧克力分给小朋友们。切出的巧克力需要满足形状是正方形边长是整数;大小相同;例如一块 6×56×5 的巧克力可以切出 66 块 2×22×2 的巧克力或者 22 块 3×33×3 的巧克力。当然小朋友们都希望得到的巧克力尽可能大你能帮小明计算出最大的边长是多少么输入描述第一行包含两个整数 N,KN,K(1≤N,K≤1051≤N,K≤105)。以下 N 行每行包含两个整数 Hi,WiH**i,W**i(1≤Hi,Wi≤1051≤H**i,W**i≤105)。输入保证每位小朋友至少能获得一块 1x1 的巧克力。输出描述输出切出的正方形巧克力最大可能的边长。思路分析题目种说我门要对这些巧克力进行划分成一个个的小正方形分配给这K个小朋友而且这些小正方形的边长要求最大那么我们可以先读取每个巧克力的边长然后对他们短的哪一个边进行排序为什么是短的哪一个边因为长的那个边是没有办法切出来那样的正方形的。然后选出短的那一条边里面的最大值作为我们暴力枚举的上限。又因为我们是要求最大值所以我们枚举的时候就从上限开始逐渐向下减#includeiostreamusingnamespacestd;constintN100010;intarr[N][2];intmain(){// 请在此输入您的代码intn,k;cinnk;for(inti0;in;i){cinarr[i][0]arr[i][1];if(arr[i][0]arr[i][1]){intaarr[i][0];arr[i][0]arr[i][1];arr[i][1]a;}}intmax_larr[0][0];longlongsum0;intbc0;for(inti0;in;i){if(max_larr[i][0]){max_larr[i][0];}}for(intimax_l;i1;i--){sum0;for(intj0;jn;j){intb(arr[j][0]/i)*(arr[j][1]/i);sumb;if(sumk){bci;break;}}if(sumk){break;}}coutbc;return0;}这样虽然我们也能通过但是他的时间复杂度还是有点高我们可以使用二分发来写这道题目下面是使用二分法写这道题的代码。#includeiostreamusingnamespacestd;constintN100010;intarr[N][2];intn,k;boolcheck(intmid){longlongtotal0;for(inti0;in;i){intharr[i][0],warr[i][1];total1LL*(h/mid)*(w/mid);if(totalk)returntrue;}returntotalk;}intmain(){cinnk;intr0;for(inti0;in;i){cinarr[i][0]arr[i][1];if(arr[i][0]r)rarr[i][0];if(arr[i][1]r)rarr[i][1];}intl1,ans0;while(lr){intmid(lr)/2;if(check(mid)){ansmid;lmid1;}else{rmid-1;}}coutans;return0;}

相关新闻

高效制作每日新闻播报的流程与技巧

高效制作每日新闻播报的流程与技巧

1. 每日新闻播报的价值与定位 每天早上醒来第一件事就是刷新闻,这已经成为现代人的生活习惯。但面对海量信息,如何高效获取真正有价值的资讯?这就是每日新闻播报存在的意义。不同于传统新闻媒体的长篇大论,每日新闻播报以精炼的形…

2026/7/23 9:55:44 阅读更多 →
Apollo配置中心实战:从原理到企业级部署应用指南

Apollo配置中心实战:从原理到企业级部署应用指南

最近在开发过程中,很多同学都遇到过配置信息需要频繁修改但又不想重启应用的情况。传统的配置文件方式每次更新都需要重新部署,严重影响开发效率和系统稳定性。本文将详细介绍如何使用携程开源的配置中心Apollo来解决这一痛点,从环境搭建到生…

2026/7/23 9:54:44 阅读更多 →
C/C++数组与指针核心区别及内存访问机制详解

C/C++数组与指针核心区别及内存访问机制详解

1. 数组与指针的本质区别 在C/C编程中,数组和指针是两个最容易混淆的概念。很多初学者甚至有一定经验的开发者都会在这两者的使用上栽跟头。要真正理解它们的区别,我们需要从内存布局和编译器处理机制两个层面来分析。 数组是一块连续的内存空间&#x…

2026/7/23 9:54:44 阅读更多 →

最新新闻

GPU架构解析与CUDA编程实战指南

GPU架构解析与CUDA编程实战指南

1. GPU技术演进与核心架构解析图形处理器(GPU)从最初的专用图形渲染设备,已经发展成为通用并行计算的核心组件。现代GPU架构包含数千个计算单元,采用SIMD(单指令多数据)和SIMT(单指令多线程&…

2026/7/23 10:25:00 阅读更多 →
知识增强生成技术解析:从《三国演义》到KAG实践

知识增强生成技术解析:从《三国演义》到KAG实践

1. 项目概述:当《三国演义》遇上知识增强生成(KAG)这个项目本质上是在探索如何将古典文学《三国演义》作为知识源,构建一套完整的知识增强生成(KAG)技术栈。不同于简单的RAG(检索增强生成&#…

2026/7/23 10:25:00 阅读更多 →
全球 AI 大事件汇总:2026 年 7 月 23 日

全球 AI 大事件汇总:2026 年 7 月 23 日

全球 AI 大事件汇总:2026 年 7 月 23 日 统计窗口:2026 年 7 月 22 日 09:00 至 2026 年 7 月 23 日 09:00(北京时间,UTC8)。 过去 24 小时,全球 AI 主线集中在三件事:算力基础设施继续扩张&a…

2026/7/23 10:25:00 阅读更多 →
SolidWorks Visualize插件补安装与优化指南

SolidWorks Visualize插件补安装与优化指南

1. SolidWorks Visualize渲染插件补安装的核心需求 作为一名长期使用SolidWorks的设计师,我深知Visualize渲染插件的重要性。这个插件能将CAD模型快速转化为逼真的渲染效果图,是产品展示、方案汇报的利器。但很多同行都遇到过相同的问题:当Vi…

2026/7/23 10:25:00 阅读更多 →
2048游戏AI辅助工具:从启发式评估到决策树搜索的智能策略实践

2048游戏AI辅助工具:从启发式评估到决策树搜索的智能策略实践

1. 项目概述:当经典游戏遇上决策智能 最近在整理一些关于经典游戏AI策略的旧项目,翻到了几年前做的一个“2048游戏AI辅助工具”。这玩意儿乍一听可能觉得有点“过时”,毕竟2048这游戏都火了多少年了。但恰恰是这种规则极其简单、状态空间却不…

2026/7/23 10:25:00 阅读更多 →
嵌入式安全核心:TI MSPM33 PKA硬件加速器架构、应用与优化指南

嵌入式安全核心:TI MSPM33 PKA硬件加速器架构、应用与优化指南

1. 项目概述:为什么嵌入式系统需要硬件公钥加速器在物联网设备、智能门锁、支付终端这些我们日常接触的嵌入式设备里,安全不再是“锦上添花”,而是“生死攸关”的底线。这些设备经常需要与云端服务器握手、验证固件签名,或者与另一…

2026/7/23 10:23:59 阅读更多 →

日新闻

从单点好评到指数级传播:AI副业主理人必须掌握的4层口碑渗透模型(含ROI测算表)

从单点好评到指数级传播:AI副业主理人必须掌握的4层口碑渗透模型(含ROI测算表)

更多请点击: https://intelliparadigm.com 第一章:从单点好评到指数级传播:AI副业主理人必须掌握的4层口碑渗透模型(含ROI测算表) 当AI副业主理人不再仅满足于单次服务交付,而是主动构建可复用、可裂变、可…

2026/7/23 0:00:25 阅读更多 →
AI写作开头钩子设计:为什么你的AI文案完读率不足18%?——基于2,346篇A/B测试报告的归因分析

AI写作开头钩子设计:为什么你的AI文案完读率不足18%?——基于2,346篇A/B测试报告的归因分析

更多请点击: https://codechina.net 第一章:AI写作开头钩子设计:为什么你的AI文案完读率不足18%?——基于2,346篇A/B测试报告的归因分析 在对2,346篇跨行业AI生成文案的A/B测试数据进行聚类分析后,我们发现&#xff1…

2026/7/23 0:01:26 阅读更多 →
Chitchatter完整指南:免费开源的终极点对点安全聊天工具

Chitchatter完整指南:免费开源的终极点对点安全聊天工具

Chitchatter完整指南:免费开源的终极点对点安全聊天工具 【免费下载链接】chitchatter Secure peer-to-peer chat that is serverless, decentralized, and ephemeral 项目地址: https://gitcode.com/gh_mirrors/ch/chitchatter Chitchatter是一款革命性的安…

2026/7/23 0:01:26 阅读更多 →

周新闻

Go语言静态资源打包方案对比与实践指南

Go语言静态资源打包方案对比与实践指南

1. 项目背景与核心需求在Go语言开发中,我们经常需要处理静态资源文件的打包问题。无论是Web应用的模板文件、前端资源,还是配置文件、证书等,都需要随程序一起分发。传统做法是将这些文件与编译后的二进制文件放在同一目录下,但这…

2026/7/22 8:58:19 阅读更多 →
Go语言实现高性能LDAP认证服务的架构与实践

Go语言实现高性能LDAP认证服务的架构与实践

1. 项目背景与核心价值LDAP(轻量级目录访问协议)作为企业级身份认证的黄金标准,已经服务了超过80%的财富500强公司。我在金融科技领域实施统一认证体系时,发现传统Java方案存在启动慢、内存占用高等痛点。而Go语言凭借其协程并发模…

2026/7/22 19:43:43 阅读更多 →
【AI面试官实战指南】:用ChatGPT模拟10类高频技术岗面试,3天提升应答精准度92%

【AI面试官实战指南】:用ChatGPT模拟10类高频技术岗面试,3天提升应答精准度92%

更多请点击: https://intelliparadigm.com 第一章:AI面试官实战指南的核心价值与适用场景 AI面试官并非替代人类HR的“黑箱工具”,而是以可解释、可审计、可迭代的方式,赋能招聘全链路的关键基础设施。其核心价值在于将主观经验沉…

2026/7/22 12:54:44 阅读更多 →

月新闻