我估计你 long long 没够。
首先是 tag[N<<2] 要全部 long long,然后是
inline void p(int u,int l,int r,ll k,bool deb=0){
long double ssin=Sin[u],ccos=Cos[u];
Sin[u]=ssin*cos(k)+ccos*sin(k),Cos[u]=ccos*cos(k)-ssin*sin(k),tag[u]+=k;
}
这个传的参数 k 也要全部 long long。
只要是和 tag 有关的都要 long long。
之后应该就没什么问题了。我想如果你把一些 double 写成 int 了不至于对 40000 次 query。