重排的时候肯定会挂,排序是左闭右开,所以右端点得加一
by _Paradox_ @ 2024-01-29 16:32:29
但是改了这个错的又不一样了(
@[NG_Jack](/user/357237)
by _Paradox_ @ 2024-01-29 16:33:01
找到了,你blk数组初始化排序的时候应该是
```cpp
for(i = 1;i <= tot;i++)
sort(blk + L[i],blk + R[i] + 1);
```
而不是
```cpp
for(i = 1;i <= tot;i++)
sort(blk + L[pos[i]],blk + R[pos[i]]);
```
改了这个还有排序右端点加上一就A了
by _Paradox_ @ 2024-01-29 16:52:16
@[_Paradox_](/user/374987) %%%%%%orz
by NG_Jack @ 2024-01-29 22:38:07
@[_Paradox_](/user/374987) dalao 能说一下为什么是左闭右开吗 qwq
by Antiluna @ 2024-03-10 08:10:43
@[Antiluna](/user/1006159) 因为 sort 函数就是左闭右开的啊,你 $sort(a+l,a+r)$ 实际上是排的 $a_l \sim a_{r-1}$
by _Paradox_ @ 2024-03-10 18:18:35
@[_Paradox_](/user/374987) 谢谢
by Antiluna @ 2024-03-11 12:22:58