洛谷P1471 分塊 方差

2021-08-28 03:00:20 字數 716 閱讀 7723

傳送門biu~

題目大意:給你乙個序列,對其進行區間修改或區間查詢平均數和方差。

這他媽是線段樹啊

可是我就是要用分塊艹過你咬我啊

**:

#include

using namespace std;

#define db double

#define n 100005

int n,m,bl[n],t;

db a[n],sum1[330],sum2[330],lz[330];

inline void add(int l,int r,db x)

if(bl[l]!=bl[r])

for(int i=(bl[r]-1)*t+1;i<=r;i++)

for(int i=bl[l]+1;i<=bl[r]-1;i++)lz[i]+=x;

}inline db query1(int l,int r)

inline db query2(int l,int r)

int main()

int flag,l,r;

while(m--)

else

if(flag==2)printf("%.3lf\n",query1(l,r));

else

printf("%.3lf\n",query2(l,r));

}return

0;}

洛谷 P1471 方差

題目背景 滾粗了的hansbug在收拾舊數學書,然而他發現了什麼奇妙的東西。題目描述 蒟蒻hansbug在一本數學書裡面發現了乙個神奇的數列,包含n個實數。他想算算這個數列的平均數和方差。輸入輸出格式 輸入格式 第一行包含兩個正整數n m,分別表示數列中實數的個數和操作的個數。第二行包含n個實數,其...

洛谷P1471 方差

題目描述 蒟蒻hansbug在一本數學書裡面發現了乙個神奇的數列,包含 n 個實數。他想算算這個數列的平均數和方差。輸入輸出格式 輸入格式 第一行包含兩個正整數 n m 分別表示數列中實數的個數和操作的個數。第二行包含 n 個實數,其中第 i 個實數表示數列的第 i 項。接下來m行,每行為一條操作,...

洛谷 P1471 方差

蒟蒻hansbug在一本數學書裡面發現了乙個神奇的數列,包含n個實數。他想算算這個數列的平均數和方差。那麼只要維護區間平方和,就可以求方差了。區間平方和,恩,push down稍微改一下即可。注意精度問題。include define n int 1e6 define ll long long us...