如题,是否存在一种完全通用的二分答案板子。
经过楼主 多年不懈 的试验,目前已知:
-
算法竞赛进阶指南上给的两个板子在某些情况下二分不到边界
-
如下代码:
int binarySearch(int l, int r) {
while (l <= r) {
int mid = (l + r) >> 1;
if (check(mid))
ans = mid, l = mid + 1;
else r = mid - 1;
}
return ans;
}
在部分情况下会出现问题(确认代码正确)。
所以楼主想要了解是否有一种无脑的二分答案方式(或者根据 check 的不同而变换,但能保证正确的方式)。