湘潭oj_Rolling Variance1249(直接求)
来源:互联网 发布:刘德华救歌迷知乎 编辑:程序博客网 时间:2024/09/21 06:18
#include<stdio.h> #include<string.h> #include<math.h> int a[100001],c[201]; //c数组统计每个数出现的次数 double aver[100001],sum1[100001]; int main(){ int n,m; while(~scanf("%d%d",&n,&m)){ memset(a,0,sizeof(a)); memset(c,0,sizeof(c)); memset(aver,0.0,sizeof(aver)); memset(sum1,0.0,sizeof(sum1)); int i,j; for(i=1;i<=n;i++) { scanf("%d",&a[i]); sum1[i]=sum1[i-1]+a[i]; } for(i=m;i<=n;i++) aver[i]=(sum1[i]-sum1[i-m])/m; for(i=1;i<=m;i++) { if(a[i]>=0) c[a[i]]++; else c[-a[i]+100]++; //-100至-1的数取绝对值+100存储(-20按120存储) } for(i=m;i<=n;i++) { double sum=0; if(i!=m) { //动态变化维护,长度为m的数列中每个数出现的次数。(数据中每个数的值都在-100-100之间) if(a[i]>=0) c[a[i]]++; else c[-a[i]+100]++; if(a[i-m]>=0) c[a[i-m]]--; else c[-a[i-m]+100]--; } for(j=0;j<=100;j++) sum+=c[j]*(j-aver[i])*(j-aver[i]); for(j=101;j<=200;j++) sum+=c[j]*(100-j-aver[i])*(100-j-aver[i]); printf("%0.8lf\n",sqrt(sum/(m-1))); } } return 0; }
1 0
- 湘潭oj_Rolling Variance1249(直接求)
- 湘潭大学OJ1199Number Game(求一个集合的最小公倍数)
- 湘潭大学 Hurry Up 三分,求凹函数的最小值问题
- 湘潭2017 ccpc中南地区邀请赛 Determinant 高斯约当求逆矩阵
- 湘潭赛小感
- 欧拉函数模板 筛法 直接求
- poj2018 Best Cow Fences(直接求斜率)
- ACM_ICPC 湘潭邀请赛
- 湘潭邀请赛总结
- 湘潭邀请赛A
- 深圳湘潭1384432317201
- 09湘潭赛
- 湘潭1314科技
- 湘潭大学校赛
- 湘潭大学oj 1195
- 湘潭大学oj 1193
- 湘潭大学oj1194
- 湘潭大学oj1192
- Xcode因为证书问题经常报的那些错
- 处理图片的旋转问题bug
- leetcode No3. Longest Substring Without Repeating Characters
- chinese restaurant process
- hdu 1238 substrings
- 湘潭oj_Rolling Variance1249(直接求)
- Defender 1.4.0.629解密研究
- web打印免费控件PAZU -- 四方在线WEB打印控件
- 欢迎使用CSDN-markdown编辑器
- Face2Face: Real-time Face Capture and Reenactment
- XML和JSON的区别
- easyUI 数据表格客户分页
- Python 动态类型
- 安卓 Spinner详解