社区讨论

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 条回复,欢迎继续交流。

正在加载回复...