1、错误情况:
显然在区间没被分割时,依旧搜索当前区间,只是更换线段树的节点值
1
2
3
4
5
6
7
|
if
(r <= midn) se(l,midn,k << 1);
else
if
(l > midn) se(midn + 1,r, (k << 1) + 1);
else
{
se(l,midn,k << 1);
se(midn + 1,r,(k << 1) + 1);
}
|
在区间查询的时候,手残写跪....
正解长这样:
1
2
3
4
5
6
|
if
(r <= midn) se(l,r,k << 1);
else
if
(l > midn) se(l, (k << 1) + 1);
else
{
se(l,midn,k << 1);
se(midn + 1,r,(k << 1) + 1);
}
|
未完待更
|