都可以,看个人习惯
by qinshi0308 @ 2023-07-11 16:26:23
就是代码有一些小区别
by qinshi0308 @ 2023-07-11 16:26:44
有时候容易弄混
by qinshi0308 @ 2023-07-11 16:26:57
@[wujingfey](/user/637073)
二分模板有三种写法:
```cpp
l+1<r:
int l=-1,r=1e9+1;
while(l+1<r){
int mid=(l+r)/2;
if(check(mid)){
l=mid;
}else{
r=mid;
}
}
```
```cpp
l<=r:
int l=0,r=1e9;
while(l<=r){
int mid=(l+r)/2;
if(check(mid)){
l=mid+1;
}else{
r=mid+1;
}
}
```
```cpp
l<r:
int l=0,r=1e9-1;
while(l<r){
int mid=(l+r)/2;
if(check(mid)){
l=mid+1;
}else{
r=mid;
}
}
```
by liwenxi114514 @ 2023-07-17 09:20:49
@[wujingfey](/user/637073)
这三种代码是伪代码,要根据实际情况来写
by liwenxi114514 @ 2023-07-17 09:22:55
@[liwenxi110720](/user/661913) 谢谢大佬qwq
by wujingfey @ 2023-07-18 08:52:43
@[liwenxi110720](/user/661913) 请问大佬,这个模板是在 $ [0, 10^9] $内二分答案吗?
by lzy20091001 @ 2023-07-30 20:02:59
@[lzy20091001](/user/932039)
前两个是的,最后一个的r要改成1e9。
by liwenxi114514 @ 2023-07-30 22:51:34
@[lzy20091001](/user/932039)
自己写代码的时候,r设大一点,一般都没事。
by liwenxi114514 @ 2023-07-30 22:52:49