蒟蒻hansbug在一本數學書裡面發現了乙個神奇的數列,包含n個實數。他想算算這個數列的平均數和方差。
那麼只要維護區間平方和,就可以求方差了。
區間平方和,恩,push_down稍微改一下即可。
注意精度問題。
#include#define n int(1e6)#define ll long long
using
namespace
std;
void
in(ll &x)
while
(isdigit(c))
x*=f;
}struct
nodetr[n];
inline
void push_up(int
k)inline
void
build(ll k,ll l,ll r)
ll mid=(l+r)>>1
; build(k
<<1
,l,mid);
build(k
<<1|1,mid+1
,r);
push_up(k);
}inline
void
push_down(ll k)
}inline
void update(ll k,ll l,ll r,double
w) push_down(k);
if(l<=mid) update(k<<1
,l,r,w);
if(r>mid) update(k<<1|1
,l,r,w);
push_up(k);
}double
query1(ll k,ll l,ll r)
double
query2(ll k,ll l,ll r)
ll n,m;
intmain()
if(opt==2
)
if(opt==3
) }
return0;
}
洛谷 P1471 方差
題目背景 滾粗了的hansbug在收拾舊數學書,然而他發現了什麼奇妙的東西。題目描述 蒟蒻hansbug在一本數學書裡面發現了乙個神奇的數列,包含n個實數。他想算算這個數列的平均數和方差。輸入輸出格式 輸入格式 第一行包含兩個正整數n m,分別表示數列中實數的個數和操作的個數。第二行包含n個實數,其...
洛谷P1471 方差
題目描述 蒟蒻hansbug在一本數學書裡面發現了乙個神奇的數列,包含 n 個實數。他想算算這個數列的平均數和方差。輸入輸出格式 輸入格式 第一行包含兩個正整數 n m 分別表示數列中實數的個數和操作的個數。第二行包含 n 個實數,其中第 i 個實數表示數列的第 i 項。接下來m行,每行為一條操作,...
洛谷 P1471 方差
區間加,區間查詢,顯然的線段樹 分塊 說實話第一眼看到這個題的時候我是很懵的 線段樹每個區間要維護什麼呢?我們定義 sum sum limits n a i a 1 a 2 ldots a n qquad quad pow sum limits n a i 2 a 1 2 a 2 2 ldots a...