二分其实是一种很优的算法,其特点是有一个判断条件满足单调,可以去找到一个满足条件与不满足条件的一个转折点
二分以及二分答案的题目都有比较明显的特质,相信做上两三道就能够体会到
经过我长时间做二分连WA+TLE的经验,总结出自己觉得还行的模板
while(r > l) //递增,先是不满足条件,后来转折点变成满足
{
int mid = (l + r) / 2;
if(check(mid))
{
ans = min(ans,mid);
r = mid - 1;
}
else l = mid + 1;
} //答案存在ans中