【浮点数二分】LeetCode 3453. 分割正方形 I

news/2026/1/20 0:27:40/文章来源:https://www.cnblogs.com/RomanLin/p/19479249

View Post

【浮点数二分】LeetCode 3453. 分割正方形 I

前言

零点定理:如果函数 \(f(x)\) 在闭区间 \([a, b]\)连续,且 \(f(a) \times f(b) < 0\)(即函数在两端点值异号),则在开区间 \((a, b)\) 内至少存在一点 \(c\),使得 \(f(c) = 0\)

零点定理是连续函数的一个重要性质,也是二分法求根的理论基础。

题目

https://leetcode.cn/problems/separate-squares-i/description/

题解

浮点数二分用于在连续区间中查找满足条件的实数解。与整数二分不同,它通过精度控制而非整数边界来判断循环结束。

浮点数二分编码有两种方法:

  1. 固定迭代次数法(推荐)
  2. 精度控制法

关于浮点数二分的编码,更推荐使用固定次数迭代法,可以更好地避免死循环。固定次数迭代法核心点在于求出迭代次数,以下讲解如何求解迭代次数:

以左边界 \(l=1\),右边界 \(r = 10^9\) 为例,要求答案精度控制在 \(10^{-5}\) 内为案例。
设二分 \(x\) 次,可以使得区间大小不超过 \(10^{-5}\),那么可列出以下方程:$$\frac{r-l+1}{2^x} \leq 10^{-5}$$
化简,可得:$$x \geq log_2{\frac{r-l+1}{10^{-5}}} = log_2 10^{14} \approx 46.5$$
因此,以左边界 \(l=1\),右边界 \(r = 10^9\),要求答案精度控制在 \(10^{-5}\) 内至多只需要固定迭代 \(47\) 次即可做到。

// 方法1:精度控制法
double binary_search_double(double l, double r, double eps = 1e-8) {while (r - l > eps) {  // 当区间大于精度要求时继续double mid = (l + r) / 2;if (check(mid)) {  // check函数需要根据具体问题实现r = mid;  // 解在左半区间} else {l = mid;  // 解在右半区间}}return l;  // 或 (l + r) / 2
}// 方法2:固定迭代次数法(避免无限循环)
double binary_search_double_iter(double l, double r, int iter = 100) {for (int i = 0; i < iter; i++) {double mid = (l + r) / 2;if (check(mid)) {r = mid;} else {l = mid;}}return l;
}

参考代码

class Solution {
public:double separateSquares(vector<vector<int>>& squares) {double tot = 0, mx = 0;for (auto &sq: squares) {tot += 1.0 * sq[2] * sq[2];mx = max(mx, 1.0 * sq[1] + sq[2]);}double le = 0, ri = mx, md;auto check = [&]() -> bool {double sum = 0;for (auto &sq: squares) {if (sq[1] > md) continue;double up = sq[1] + sq[2];sum += 1.0 * sq[2] * (min(md, up) - sq[1]);}return sum >= tot / 2;};for (int i = 0; i < 47; ++ i) {md = (le + ri) / 2.0;(check() ? ri : le) = md;}return (le + ri) / 2.0;}
};

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/1185804.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Speech Seaco Paraformer ASR模型更新机制:版本升级迁移注意事项

Speech Seaco Paraformer ASR模型更新机制&#xff1a;版本升级迁移注意事项 1. 引言 1.1 技术背景与升级动因 随着语音识别技术的持续演进&#xff0c;阿里云FunASR项目不断优化其核心模型架构与推理性能。Speech Seaco Paraformer作为基于Linly-Talker在ModelScope上发布的…

Qwen3-Embedding-4B调用报错?常见问题排查步骤详解

Qwen3-Embedding-4B调用报错&#xff1f;常见问题排查步骤详解 1. 背景与问题引入 在基于大模型的语义理解系统中&#xff0c;文本嵌入&#xff08;Text Embedding&#xff09;是实现检索、聚类、分类等任务的核心前置能力。Qwen3-Embedding-4B作为通义千问系列最新推出的中等…

PaddlePaddle-v3.3 ONNX转换:跨平台模型导出实战指南

PaddlePaddle-v3.3 ONNX转换&#xff1a;跨平台模型导出实战指南 1. 引言 1.1 PaddlePaddle-v3.3 概述 PaddlePaddle 是由百度自主研发的深度学习平台&#xff0c;自 2016 年开源以来已广泛应用于工业界。作为一个全面的深度学习生态系统&#xff0c;它提供了核心框架、模型…

Multisim数据库访问问题的核心要点总结

当你的Multisim突然打不开元件库&#xff1a;一次“数据库访问失败”的深度排雷实录 你有没有遇到过这种情况—— 刚打开Multisim准备画个简单电路&#xff0c;结果弹窗冷冰冰地告诉你&#xff1a;“ 无法访问数据库 ”&#xff0c;连电阻、电容都加载不出来&#xff1f;更…

TurboDiffusion问题诊断:日志文件分析定位核心故障点

TurboDiffusion问题诊断&#xff1a;日志文件分析定位核心故障点 1. 引言 1.1 业务场景描述 TurboDiffusion 是由清华大学、生数科技与加州大学伯克利分校联合推出的视频生成加速框架&#xff0c;基于 Wan2.1 和 Wan2.2 模型进行二次开发&#xff0c;构建了高效的文生视频&a…

UDS 19服务与OBD-II标准的对比分析(通俗解释)

为什么现代修车不再只靠OBD&#xff1f;从“大众医生”到“专科专家”的诊断进化之路你有没有遇到过这种情况&#xff1a;车子亮了故障灯&#xff0c;拿个几十块钱的OBD扫描枪一插&#xff0c;屏幕上跳出一个P0420——催化效率低。然后呢&#xff1f;没了。大多数车主到这里就卡…

一个农民发现宇宙的终极真理:空间本身就是动态的万亿只手

一个农民发现宇宙的终极真理&#xff1a;空间本身就是动态的万亿只手想象一下&#xff0c;你随手捡起一块石头&#xff0c;丢向天空。它划过一道弧线&#xff0c;最终落回地面。 这一刻&#xff0c;你所认知的“自然”可能彻底崩塌。 根据主导人类文明三百年的牛顿力学&#xf…

通州宠物训练哪家好?朝阳宠物训练哪家好?2026年通州、朝阳宠物训练机构推荐 - 品牌2025

随着养宠理念的升级,宠物训练已成为不少铲屎官的刚需,既能纠正爱犬不良行为,也能增进人宠互动。通州、朝阳两区作为北京养宠密集区域,优质训练机构备受关注。本文整理了靠谱机构,按综合实力排序推荐,助力铲屎官精…

OpenCV计算摄影学实践:艺术滤镜算法优化技巧

OpenCV计算摄影学实践&#xff1a;艺术滤镜算法优化技巧 1. 引言&#xff1a;从传统图像处理到非真实感渲染 随着数字图像技术的发展&#xff0c;用户对照片的审美需求已不再局限于真实还原。越来越多的应用场景开始追求“艺术化表达”&#xff0c;例如社交平台的滤镜、AI绘画…

播客内容增强:为每段对话添加情绪标签便于检索定位

播客内容增强&#xff1a;为每段对话添加情绪标签便于检索定位 1. 引言&#xff1a;从语音转写到富文本理解的演进 随着播客、访谈节目和在线课程等音频内容的爆发式增长&#xff0c;用户对音频信息的检索效率提出了更高要求。传统的语音识别&#xff08;ASR&#xff09;系统…

AI赋能小型影楼转型:智能换底服务降本增效实战案例

AI赋能小型影楼转型&#xff1a;智能换底服务降本增效实战案例 1. 引言&#xff1a;传统影楼的数字化转型需求 1.1 小型影楼面临的经营困境 在当前消费习惯快速变化的背景下&#xff0c;小型影楼普遍面临人力成本高、客户等待时间长、标准化程度低等问题。尤其在证件照这类高…

Voice Sculptor语音合成餐饮:菜单语音介绍系统

Voice Sculptor语音合成餐饮&#xff1a;菜单语音介绍系统 1. 技术背景与应用场景 随着智能服务技术的快速发展&#xff0c;传统餐饮行业正经历数字化转型。在点餐环节中&#xff0c;如何提升用户体验、降低人工成本并增强品牌辨识度成为关键课题。Voice Sculptor语音合成系统…

朝阳狗狗养老哪家比较专业正规?2026年朝阳狗狗养老条件和服务好的基地名单 - 品牌2025

对于朝阳地区的养宠人而言,为毛孩子挑选一处专业正规、条件优良的养老寄养场所,是缓解出行顾虑、保障爱宠生活质量的关键。优质的机构不仅能提供基础照料,更能兼顾狗狗的身心健康,让主人在外也能安心。以下为大家整…

线下活动反馈收集:掌声笑声数据可视化分析

线下活动反馈收集&#xff1a;掌声笑声数据可视化分析 1. 背景与问题提出 在线下会议、讲座、演出等现场活动中&#xff0c;观众的即时情绪反应是衡量内容质量的重要指标。传统方式依赖问卷调查或人工观察&#xff0c;存在滞后性强、样本覆盖率低、主观偏差大等问题。如何实时…

GPT-OSS-20B-WEBUI用户引导:新手首次使用的交互设计

GPT-OSS-20B-WEBUI用户引导&#xff1a;新手首次使用的交互设计 1. 引言 1.1 技术背景与使用场景 随着大模型在自然语言处理领域的广泛应用&#xff0c;本地化、低延迟的推理部署成为开发者和研究者的迫切需求。GPT-OSS-20B 是 OpenAI 开源社区推动下的一个高性能、可定制的…

移动端也能用?fft npainting lama跨平台使用建议

移动端也能用&#xff1f;fft npainting lama跨平台使用建议 1. 背景与应用场景 随着移动设备性能的持续提升&#xff0c;越来越多原本依赖高性能计算的工作负载开始向移动端迁移。图像修复技术作为计算机视觉领域的重要应用&#xff0c;长期以来受限于模型复杂度和算力需求&…

YOLOv13模型剪枝指南:云端低成本完成模型优化实验

YOLOv13模型剪枝指南&#xff1a;云端低成本完成模型优化实验 你是不是也遇到过这样的问题&#xff1a;作为边缘计算工程师&#xff0c;手头有个YOLOv13模型要优化&#xff0c;想试试剪枝能不能降低计算量、提升推理速度&#xff0c;但又不想花大价钱买高端GPU&#xff1f;本地…

宠物寄养寄养多少钱一天?宠物寄养哪家好?2026年宠物寄养基地名单前五 - 品牌2025

养宠家庭出行时,宠物寄养的选择始终是核心难题。既要考量每日寄养价格,又要筛选环境条件佳、服务专业的机构,才能让毛孩子安心托付。2026年北京宠物寄养市场品类丰富,本文结合服务质量、环境设施、性价比等维度,为…

如何快速掌握Scarab:空洞骑士模组管理的终极指南

如何快速掌握Scarab&#xff1a;空洞骑士模组管理的终极指南 【免费下载链接】Scarab An installer for Hollow Knight mods written in Avalonia. 项目地址: https://gitcode.com/gh_mirrors/sc/Scarab 想要轻松管理空洞骑士模组&#xff1f;Scarab模组管理器正是你需要…

2025高薪职业TOP10曝光!年轻人正在解锁一批小众冷门工作

收藏&#xff01;2025网络安全行业爆发&#xff0c;年薪30万的黄金赛道&#xff0c;零基础也能入行 文章盘点了2025年十大冷门高薪职业&#xff0c;其中网络安全领域因人才缺口巨大&#xff08;2027年预计达327万人&#xff09;而薪资飙升&#xff0c;系统网络安全工程师平均月…