线段树30tps求调,悬一关

P3373 【模板】线段树 2

@[ShanLing](/user/566353) 第一次见到线段树不写 $build$ 用 $id$ 访问的.....
by 初星逝者 @ 2023-11-14 11:41:58


@[初星逝者](/user/376679) 我在练习动态开点
by ShanLing @ 2023-11-14 12:23:22


已找到问题,pushdown里的cnt范围写错了 ```cpp void pushdown(int x,int l,int r) { if(l>=r) return; if(!t[x].l) t[x].l=++id; if(!t[x].r) t[x].r=++id; int mid=(l+r-1)/2; t[t[x].l].cnt=t[t[x].l].cnt*t[x].mul%m+t[x].add*(mid-l+1)%m; t[t[x].r].cnt=t[t[x].r].cnt*t[x].mul%m+t[x].add*(r-mid)%m; t[t[x].l].cnt%=m; t[t[x].r].cnt%=m; t[t[x].l].add=t[t[x].l].add*t[x].mul%m+t[x].add; t[t[x].r].add=t[t[x].r].add*t[x].mul%m+t[x].add; t[t[x].l].add%=m; t[t[x].r].add%=m; t[t[x].l].mul=t[t[x].l].mul*t[x].mul%m; t[t[x].r].mul=t[t[x].r].mul*t[x].mul%m; t[t[x].l].mul%=m; t[t[x].r].mul%=m; t[x].add=0; t[x].mul=1; } ```
by ShanLing @ 2023-11-14 13:39:04


|