社区讨论
关于二分
学术版参与者 8已保存回复 10
讨论操作
快速查看讨论及其快照的属性,并进行相关操作。
- 当前回复
- 10 条
- 当前快照
- 1 份
- 快照标识符
- @lo3hmjsd
- 此快照首次捕获于
- 2023/10/24 06:47 2 年前
- 此快照最后确认于
- 2023/10/24 06:47 2 年前
我在 P7167 里写了两个二分,一个过了,一个没过。
想问问这两个二分哪里有区别。
CPP//AC
int l = i + 1, r = n + 1, mid;
while(l < r)
{
mid = (l + r) >> 1;
if(RMQ(i + 1, mid) <= d[i]) l = mid + 1;
else r = mid;
}
CPP//WA
int l = i + 1, r = n + 1, mid, ans = 0;
while(l <= r)
{
mid = (l + r) >> 1;
if(RMQ(i + 1, mid) <= d[i]) l = mid + 1, ans = mid;
else r = mid - 1;
}
回复
共 10 条回复,欢迎继续交流。
正在加载回复...