警示后人:检查数组是否开小以及提示几个其他的唐诗错误
查看原帖
警示后人:检查数组是否开小以及提示几个其他的唐诗错误
928972
ny_Dacong楼主2024/12/23 20:21

关于数组大小:最开始有 nn 个数,如果 mm 个操作全部是加数,那么至少要开 n+mn+m 个数。

不开不会 RE,但是会 WA。

然后是读入时的异或,一定要这么写:

//tpb:当前读入的操作对象
//tpc:当前查询的答案
//ans:最后输出的答案
tpb ^= Last;
tpc = -1;
//......
if(tpc >= 0){
  Last = tpc,ans ^= tpc;
}

如果你是有旋 Treap,而且使用 mt19937 产生随机数,那么这个玩意返回的是 unsigned int 类型,一定记得取模!或者全开 long long 也行。

本题 ai,x<230a_i,x < 2^{30},哨兵不能设成 0x3f3f3f3f!至少是 0x7f7f7f7f,或者开 long long,设成 0x3f3f3f3f3f3f3f3f

进行排名相关的计算时,注意哨兵对答案的影响!

2024/12/23 20:21
加载中...