AC on 5,6,9 但是貌似不同于其他警示帖?

P2590 [ZJOI2008] 树的统计

其它测试点 WA。
by Igallta @ 2023-11-16 16:19:07


orz~~你这st貌似没用啊?~~
by f_hxr_ @ 2023-11-16 16:30:16


@[f_hxr_](/user/754467) 明显错了
by Igallta @ 2023-11-16 16:35:22


@[Iam_God](/user/813622) 找出来了在第155行,由于是在线段树上直接修改,要传进去的是u的在线段树上对应的位置也就是u的dfs序。 将`update(1,lx,r);`换成`update(1,l[lx],r);`直接AC
by f_hxr_ @ 2023-11-16 16:58:19


@[Iam_God](/user/813622) 而且你这线段树的 ```cpp inline void querymax(int k,int l,int r){//t[k].l t[k].r 所在区间 l r 查询 if(t[k].l <= r && t[k].r >= l){//在区间里面 //全覆盖 if(l<=t[k].l && r>=t[k].r){ rmax=max(rmax,t[k].maxn); return; } int mid=(t[k].l+t[k].r)>>1; if(mid >= l){ querymax(LL,l,r); } if(mid < r){ querymax(RR,l,r); } } } ``` 可直接改成 ```cpp inline void querymax(int k,int l,int r){//t[k].l t[k].r 所在区间 l r 查询 //全覆盖 if(l<=t[k].l && r>=t[k].r){ rmax=max(rmax,t[k].maxn); return; } int mid=(t[k].l+t[k].r)>>1; if(mid >= l){ querymax(LL,l,r); } if(mid < r){ querymax(RR,l,r); } } ```
by f_hxr_ @ 2023-11-16 17:01:29


@[Iam_God](/user/813622)
by f_hxr_ @ 2023-11-18 19:50:59


@[f_hxr_](/user/754467) 知道了thx
by Igallta @ 2023-11-18 20:34:32


|