刷书ing……
今天仔细研读了一下二分章节,并刷完了该章节的两个问题,对二分答案认识加深。
观察二分答案模板:
while(l<r) { int mid=(l+r)/2; if(check(mid))r=mid; l=mid+1; } return r; while(l<r) { int mid=(l+r-1)/2; if(check(mid))l=mid; r=mid-1; } return r;
(最后的return建议用r,l容易造成视觉混淆是一方面,另一方面是实数域二分时精度问题上一般用r更准确(实践得之,血泪教训))