二分答案模板

// ans为第一个符合条件的答案 
while l<=r :
    mid = (l+r) // 2
    if ck(mid)==False :
        l = mid+1
    else:
        ans = mid
        r = mid-1
print(ans)

// ans为最后一个符合条件的答案 
while l<=r :
    mid = (l+r) // 2
    if ck(mid)==True :
        ans = mid
        l = mid+1
    else:
        r = mid-1
print(ans)
posted @ 2020-08-17 23:33  特立独行的猪猪  阅读(64)  评论(0编辑  收藏  举报