【题目分析】

练习赛的T1。

只要看懂样例就可以猜结论了。

然后大胆猜测剩下的星星是一段,其余的都移到重心上去。

所以只要把计算的式子变形一下就很好维护了。

居然没有1A

【代码】

#include <cstdio>
#include <cstring>
#include <iostream>
#include <algorithm>
using namespace std; #define F(i,j,k) for (int i=j;i<=k;++i)
#define D(i,j,k) for (int i=j;i>=k;--i)
#define ll long long
#define maxn 50005 int t,n,k;
ll a[maxn],sum[maxn],sumfac[maxn]; int main()
{
scanf("%d",&t);
while (t--)
{
scanf("%d%d",&n,&k);
F(i,1,n) scanf("%lld",&a[i]);
if (k>=n-1){printf("0\n");continue;}
sort(a+1,a+n+1);
sum[0]=sumfac[0]=0;
F(i,1,n) sum[i]=sum[i-1]+a[i];
F(i,1,n) sumfac[i]=sumfac[i-1]+a[i]*a[i];
double ans=1e18;
k=n-k;
F(i,1,n-k+1)
{ans=min(ans,(double)sumfac[i+k-1]-sumfac[i-1]+(double)(sum[i+k-1]-sum[i-1])*(sum[i+k-1]-sum[i-1])/k-(double)2*(sum[i+k-1]-sum[i-1])*(sum[i+k-1]-sum[i-1])/k);}
printf("%f\n",ans);
}
}

  

最新文章

  1. strust2中使用session
  2. Oracle(创建序列)
  3. Linux课程实践三:简单程序破解
  4. GitHub使用指南
  5. winndows7、office2013 激活信息还原
  6. IOS真机测试(用证书进行真机测试)
  7. order by 指定顺序 mysql
  8. 【转】maven命令背后是如何工作的
  9. Codeforces 743D:Chloe and pleasant prizes(树形DP)
  10. 学习smali
  11. LRU Cache的实现
  12. 网页视频下载牛逼工具,支持各种格式转换,比如腾讯视频格式qlv转mp4
  13. Redis分布式队列和缓存更新
  14. python pickle模块的使用/将python数据对象序列化保存到文件中
  15. MySQL 分组之后如何统计记录条数 gourp by 之后的 count()
  16. 【微服务系列】Spring SpringMVC SpringBoot SpringCloud概念、关系及区别
  17. mysql数据库的相关练习题及答案
  18. can/socket can
  19. [转]Hspice 语法手册
  20. ntp服务的细节全解析

热门文章

  1. PHP小数处理常用函数
  2. 闹心的CSDN
  3. Mybatis配置多数据源
  4. EJB开发基础——EJB规范
  5. 在SQL SERVER 2005中还原数据库时出现错误:system.data.sqlclient.sqlerror 媒体集有 2 个媒体簇 但只提供了 1 个。必须提供所有成员。 (microsoft.sqlserver.smo)
  6. python一周速成学习笔记
  7. MDI和在TabPage
  8. android-menudrawer-master 使用
  9. HTML防止重复提交
  10. HTML5触摸事件