数据结构细节集散地

emmmm。。。数据结构的大码量经常死在一些小错误上(比如一个字母,等号),然后导致一查查半年。这里汇总一下错误吧。

1、线段树操作进行二分操作时,mid用的是当前块的左右区间(t[p].l),不是查询区间的lr,错过几次

2、树剖中,(好吧其实还是线段树),向下递归,第二个判断区间相交的if不能用else代替。

    if(mid>=l)
    res+=ask(l,r,t[p].ls);
    if(mid<r)
    res+=ask(l,r,t[p].rs);
View Code

3、树剖的计数器很烦。。。根节点是0(坑惨了),然后的计数(build里)从1开始,然后建树的时候计数器++(或者直接++计数器)。。。

    t[x].ls=++num;
    t[x].rs=++num(num=0);
num=1;
    t[x].ls=num++;
    t[x].rs=num++;
View Code

 4、记得当年翟哥因为把“==”打成“=”整整改了三天

猜你喜欢

转载自www.cnblogs.com/ajmddzp/p/11742287.html