P1471方差,RE求调,玄关
  • 板块灌水区
  • 楼主zalzlz
  • 当前回复0
  • 已保存回复0
  • 发布时间2024/10/6 09:28
  • 上次更新2024/10/6 10:47:55
查看原帖
P1471方差,RE求调,玄关
1001880
zalzlz楼主2024/10/6 09:28
#include<bits/stdc++.h>
using namespace std;
inline int read(){
	int x=0,f=1;
	char ch=getchar();
	while(ch<'0'||ch>'9'){
		if(ch=='-')f=-1;
		ch=getchar();
	}
	while(ch>='0'&&ch<='9'){
		x=x*10+ch-'0';
		ch=getchar();
	}
	return x*f;
}
int n,m,p,x,y,k;
 double a[100010];
int main(){
	n=read();m=read();
	for(int i=1;i<=n;i++){
		a[i]=read();
	}
	for(int i=1;i<=m;i++){
		p=read();
		if(p==1){
			x=read(),y=read(),k=read();
			for(int j=x;j<=y;j++){
				a[j]+=k;
			}
		}
else if(p==2){
			 double sum=0;
			x=read(),y=read();
			if(y<x)swap(x,y);
			for(int j=x;j<=y;j++){
				sum+=a[j];
			}
			printf("%.4lf \n",sum/(y-x+1));
		}
		else{
			double sum_QWER=0.0;
			x=read(),y=read();
			if(y<x)swap(x,y);
			for(int j=x;j<=y;j++){
				sum_QWER+=a[j];
			}
			double s435um_1=sum_QWER/(double)(y-x+1),anms=0.0;
			for(int j=x;j<=y;j++){
				anms+=(a[j]-s435um_1)*(a[j]-s435um_1);
			}
			cout<<anms/(double)(y-x+1);
		}
	}
	return 0;
}
2024/10/6 09:28
加载中...