洛谷 P1471 方差

2022-03-03 07:31:04 字數 1193 閱讀 1292

蒟蒻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...