社区讨论

离奇RE#1/4/5/9/10TLE#2/6/7/8,求调。玄关;

P1471方差参与者 2已保存回复 8

讨论操作

快速查看讨论及其快照的属性,并进行相关操作。

当前回复
8 条
当前快照
1 份
快照标识符
@m1wwla83
此快照首次捕获于
2024/10/06 09:27
去年
此快照最后确认于
2025/11/04 17:54
4 个月前
查看原帖
CPP
#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;
}

回复

8 条回复,欢迎继续交流。

正在加载回复...