P1816
关于询问,这两段代码的运行结果不同
1.
源代码复制
inline int query(int idx, int Ql, int Qr)
{
if(Ql <= tr[idx].l and tr[idx].r <= Qr)
return tr[idx].minn;
int mid = tr[idx].l + tr[idx].r >> 1;
int Lres = 0, Rres = 0 ;
if(Ql <= mid)
Lres = query(idx << 1, Ql, Qr);
if(Qr > mid)
Rres = query(idx << 1 | 1, Ql, Qr) ;
return min(Lres, Rres);
}
inline int query(int idx, int Ql, int Qr)
{
if(Ql <= tr[idx].l and tr[idx].r <= Qr)
return tr[idx].minn;
int mid = tr[idx].l + tr[idx].r >> 1;
int Lres = INT_MAX, Rres = INT_MAX ;
if(Ql <= mid)
Lres = query(idx << 1, Ql, Qr);
if(Qr > mid)
Rres = query(idx << 1 | 1, Ql, Qr) ;
return min(Lres, Rres);
}