把加法和乘法tag写在一起,更美丽吧(
void lazy_tag(int p,int l,int r,int ak,int mk){
tree[p]=(tree[p]*mk+ak*(r-l+1))%mod;
mtag[p]=(mtag[p]*mk)%mod;
atag[p]=(atag[p]*mk+ak)%mod;
}
void push_down(int p,int l,int r){
int mid=(l+r)>>1;
lazy_tag(ls(p),l,mid,atag[p],mtag[p]);
lazy_tag(rs(p),mid+1,r,atag[p],mtag[p]);
mtag[p]=1; atag[p]=0;
}