社区讨论
萌新看不懂题解
P3632[APIO2011] 寻路参与者 14已保存回复 25
讨论操作
快速查看讨论及其快照的属性,并进行相关操作。
- 当前回复
- 25 条
- 当前快照
- 1 份
- 快照标识符
- @lo9qwi4f
- 此快照首次捕获于
- 2023/10/28 15:53 2 年前
- 此快照最后确认于
- 2023/11/02 22:37 2 年前
萌新刚接触 OI,看不懂第一篇题解。 他说他的做法是“二分 + SPFA就轻松A了”,我在他的代码中看到了如下片段:
CPP
int Lower(int o,int l,int r,int ql,int qr)
{
if (ql > qr) return inf;
if (ql <= l && r <= qr) return Left[o];
int mid = (l + r) >> 1,ret = inf;
if (ql <= mid) ret = Lower(o<<1,l,mid,ql,qr);
if (ret < inf) return ret;
if (qr > mid) ret = Lower(o<<1|1,mid+1,r,ql,qr);
return ret;
}
int Upper(int o,int l,int r,int ql,int qr)
{
if (ql > qr) return 0;
if (ql <= l && r <= qr) return Right[o];
int mid = (l + r) >> 1,ret = 0;
if (qr > mid) ret = Upper(o<<1|1,mid+1,r,ql,qr);
if (ret) return ret;
if (ql <= mid) ret = Upper(o<<1,l,mid,ql,qr);
return ret;
}
不懂就问,这个就是你们说的二分吗?
回复
共 25 条回复,欢迎继续交流。
正在加载回复...