社区讨论
离奇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 条回复,欢迎继续交流。
正在加载回复...