hdu 5073 推公式相邻质心转换
来源:互联网 发布:奶牛去广告软件 编辑:程序博客网 时间:2024/05/22 09:50
#include<stdio.h>#include<stdlib.h>#include<string.h>#define N 51000int cmp(const void *a,const void *b) {return *(int *)a-*(int *)b;}int a[N];int sum[N];double all[N];double ss(int a,double b) {return (1.0*a-b)*(1.0*a-b);}double Min(double a,double b) {return a>b?b:a;}int main() { int n,m,i,t; double ans,maxx; scanf("%d",&t); while(t--) { scanf("%d%d",&n,&m); for(i=1;i<=n;i++) scanf("%d",&a[i]); qsort(a+1,n,sizeof(a[0]),cmp); sum[0]=0; for(i=1;i<=n;i++) sum[i]=sum[i-1]+a[i]; for(i=1;i<=m+1;i++) all[i]=1.0*(sum[i+n-m-1]-sum[i-1])/(n-m); // printf("%d\n",sum[n-m]); // printf("%.10f\n",all[1]); ans=0; for(i=1;i<=n-m;i++) ans+=1.0*ss(a[i],all[1]); maxx=ans; // printf("%.10f\n",maxx); for(i=2;i<=m+1;i++) { ans=ans-2.0*(sum[i+n-m-2]-sum[i-1])*(all[i]-all[i-1])-1.0*ss(a[i-1],all[i-1])+1.0*ss(a[i+n-m-1],all[i])+(n-m-1)*(all[i]*all[i]-all[i-1]*all[i-1]); maxx=Min(maxx,ans); } printf("%.10f\n",maxx); }return 0;}
0 0
- hdu 5073 推公式相邻质心转换
- HDU 3490 推公式
- HDU 6195 推公式
- HDU 6045 推公式
- HDU 6055 推公式
- HDU 6050 推公式
- HDU(2047) 递推公式
- HDU-6216 推公式+二分
- HDU-5970 推公式+分块
- 【数论 && 公式转换】HDU
- HDU 2045 递推,一个圈相邻不同颜色
- 简单递推公式转换矩阵求解
- hdu 4059 推公式+容斥
- hdu 3411 推公式+矩阵快速幂
- 【HDU】4919 Exclusive or 推公式+高精度
- HDU 4472 Count (线性dp 推公式)
- HDU 5047 推公式+别样输出
- hdu 2064 汉诺塔III(推公式+dp)
- Android上传图片至服务器Servlet端
- Node.js实战 笔记(内容很好懂,阅读起来很流畅)
- POJ 1418 Viva Confetti(Japan 2002 Kanazawa)
- image asset:Could not load the "scene" image referenced from a nib in the bundle with identifier
- 自定义string的小例子
- hdu 5073 推公式相邻质心转换
- 字符编码<ZT>
- 黑马程序猿_C语言之选择结构
- Java生成唯一GUID UUID
- data格式数据读入
- Cocos2d-x中创建SQLite数据库
- Jedis操作redis
- 利用LaTeX制作个人简历的入门笔记
- VC中关于 0xcccccccc、0xcdcdcdcd和 0xfeeefeee 异常值说明