虽然并没有人会这么做,但是楼主确实在操作 333 中把区间长度当成了 nnn,而正确的区间长度是 y−x+1y-x+1y−x+1。
double tmp=tr.query1(rt,x,y,1,n); double aver=tmp/(y-x+1); double tmp2=tr.query2(rt,x,y,1,n); double ans=tmp2-2*aver*tmp+aver*aver*(y-x+1); ans=ans/n;
像这样。