【洛谷 P2440】 木材加工之二分答案入门详解
摘要:
一、题目分析 题目大意 木材厂有 n 根原木,要把它们切割成 k 段长度均为 l 的小段木头(木头可以有剩余),我们希望 l 尽可能大,求 l 的最大值(单位:cm,l 必须为正整数)。如果连 1cm 都切不出 k 段,输出 0。 输入输出示例 输入: 3 7 232 124 456 输出: 114 阅读全文
一、题目分析 题目大意 木材厂有 n 根原木,要把它们切割成 k 段长度均为 l 的小段木头(木头可以有剩余),我们希望 l 尽可能大,求 l 的最大值(单位:cm,l 必须为正整数)。如果连 1cm 都切不出 k 段,输出 0。 输入输出示例 输入: 3 7 232 124 456 输出: 114 阅读全文
posted @ 2026-06-14 21:50 5iCode 阅读(2) 评论(0) 推荐(0)
一、什么是二分答案 二分答案 是一种逆向二分思想:不去直接求题目要求的解,而是猜测一个答案,再用 check() 函数验证这个答案是否合法/可行。 适用前提(缺一不可) 答案有确定范围(有最小值、最大值) 答案具有单调性: 若 mid 可行,则比 mid 更大/更小的解也一定可行 若 mid 不可行
一、先搞懂两个经典场景 我们先看两个最常见的二分查找问题,帮你直观理解需求差异。 场景 1:查找最后一个 ≤ x 的元素 目标:在数组 [1, 2, 3, 5, 5, 5, 7, 8] 中,找到最后一个 ≤ 5 的数的下标。 数组里有多个5,我们要找最右边的那个(下标为6,假设下标从 1 开始)。
浙公网安备 33010602011771号