社区讨论
70分竟然是因为pushdown函数加了个if判断条件,改了就过了。为什么不对?
P3373【模板】线段树 2参与者 2已保存回复 2
讨论操作
快速查看讨论及其快照的属性,并进行相关操作。
- 当前回复
- 2 条
- 当前快照
- 1 份
- 快照标识符
- @lo9dxjyt
- 此快照首次捕获于
- 2023/10/28 09:50 2 年前
- 此快照最后确认于
- 2023/10/28 09:50 2 年前
CPP
void push_down(int rt){
// if(t[rt].l_m>1||t[rt].l_a){
ll lenl=t[rt*2].r-t[rt*2].l+1;
ll lenr=t[rt*2+1].r-t[rt*2+1].l+1;
t[rt*2].v=(t[rt*2].v*t[rt].l_m%p+t[rt].l_a*lenl%p)%p;
t[rt*2+1].v=(t[rt*2+1].v*t[rt].l_m%p+t[rt].l_a*lenr%p)%p;
t[rt*2].l_m*=t[rt].l_m; t[rt*2].l_m%=p;
t[rt*2+1].l_m*=t[rt].l_m;t[rt*2+1].l_m%=p;
t[rt*2].l_a=(t[rt*2].l_a*t[rt].l_m%p+t[rt].l_a)%p;
t[rt*2+1].l_a=(t[rt*2+1].l_a*t[rt].l_m%p+t[rt].l_a)%p;
t[rt].l_m=1;
t[rt].l_a=0;
// }
}
回复
共 2 条回复,欢迎继续交流。
正在加载回复...