0%

Transformation(线段树区间加减,区间推平,区间乘法,区间平方和,立方和查询)

思路讲解

呃,没什么好说的,主要就是一些细节问题

pushdown顺序放在这里了

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
void pushdown(int o){
int l=o<<1,r=l|1; // 左儿子,右儿子
if(tag2[o]!=initv){
settag2(l, tag2[o]);
settag2(r, tag2[o]);
tag2[o]=initv;
}
if(tag3[o]!=1){
settag3(l, tag3[o]);
settag3(r, tag3[o]);
tag3[o]=1;
}
if(tag[o]!=0){
settag(l, tag[o]);
settag(r, tag[o]);
tag[o]=0;
}
}

AC代码

https://vjudge.net/solution/63174043

心路历程(WA,TLE,MLE……)