警示后人(样例过但全红)
查看原帖
警示后人(样例过但全红)
1435469
Xu15368215262楼主2024/11/5 22:14

第一是懒标记一定要开long long以及函数传参的时候也要注意;

第二是注意区间修改和pushup、pushdown的时候,不要在修改的时候用到已经修改过的变量,比如这样:

void add(int k,ll s){  
a[k].l+=s;  
a[k].m1=a[k].m1*cos(s)+a[k].m2*sin(s);  
a[k].m2=a[k].m2*cos(s)+a[k].m1*sin(s);
}

先更换变量来存储就行

void add(int k,ll s){/*long long 别忘了*/  
db x1=a[k].m1*cos(s)+a[k].m2*sin(s);  
db x2=a[k].m2*cos(s)-a[k].m1*sin(s);  
a[k].l+=s;   
a[k].m1=x1;  
a[k].m2=x2; }
2024/11/5 22:14
加载中...