【求解释】块长为 n的1/2次方 时RE,而块长为 n的2/3次方 时不RE

P1903 [国家集训队] 数颜色 / 维护队列

@[璇___](/user/443664) 你是不是开了几个数组存每个块的左右边界?如果那样的话块长过小,块的数量就会很多,如果数组没开够的话会导致越界
by OldVagrant @ 2022-01-11 11:09:26


看不到你代码
by OldVagrant @ 2022-01-11 11:09:40


@[z_z_y](/user/438168) <https://www.luogu.com.cn/paste/u91nq9a3> 是记录了左右边界,但数组开到了1e6,应该不是越界了
by Missa @ 2022-01-11 11:11:24


@[璇___](/user/443664) $n^{\frac{2}{3}}$应该是 ```pow(n,2.0/3)```,2/3的结果是0
by OldVagrant @ 2022-01-11 11:14:58


@[z_z_y](/user/438168) 谢谢,我再试试
by Missa @ 2022-01-11 11:16:01


@[z_z_y](/user/438168) 变回全RE了…… <https://www.luogu.com.cn/record/66555772>
by Missa @ 2022-01-11 11:17:20


@[璇___](/user/443664) 你看看你倒数第二个for循环,里面有一个这个: ```c while(l < a[i].x) del(c[l++]); while(l > a[i].x) add(c[++l]); ``` 把它改成 ```c while(l < a[i].x) del(c[l++]); while(l > a[i].x) add(c[--l]); ``` 即可,因为你比上次的询问的左边界要小的话要往左扩展,l要变小
by OldVagrant @ 2022-01-11 11:22:35


@[z_z_y](/user/438168) 非常感谢你用宝贵的时间帮我调这么一个低级的bug 最震惊的是,它在学校oj上过了……块长1,左边界拓展错方向
by Missa @ 2022-01-11 11:27:21


![](//图.tk/ga)
by 刘嘉琦 @ 2022-01-11 11:36:16


~~你们学校OJ的数据过水~~
by OldVagrant @ 2022-01-11 11:43:18


| 下一页