HDU - 5073 Galaxy(数学)
题意:n个点,运行移动k个点到任何位置,允许多个点在同一位置上。求移动k个点后,所有点到整体中心的距离的平方和最小。
分析:这题题目真的有点迷。。。一开始看不懂。得知最后是选取一个中心,于是看出来了方差的味道。这里便是求移动完成后方差的最小值,那么只需找连续n-k个最小的序列,然后把其他k个点都放在中心,即为正解。注意到(a[i]-ave)^2=a^2+ave^2-2*a*ave,可以在此化简代码。详情看代码。
#include <cstdio>
#include <iostream>
#include <cmath>
#include <algorithm>
#include <cstdlib>
#include <cstring>
#include <queue> #define ll long long using namespace std;
const int maxn = ; int main(){
int t,n,k;
ll a[maxn];
scanf("%d",&t);
while(t--){
scanf("%d%d",&n,&k);
for(int i=;i<=n;i++) scanf("%lld",&a[i]);
if(n==k){
printf("0.000000000\n");
continue;
}
sort(a+,a++n);
ll sum=,tot=;
for(int i=;i<=n-k;i++){
sum+=a[i];
tot+=a[i]*a[i];
}
double ave=(sum*1.0)/(n-k);
double ans=ave*ave*(n-k)+tot-*ave*sum;
for(int i=;i<=k+;i++){
sum=sum-a[i-]+a[n-k+i-];
tot=tot-a[i-]*a[i-]+a[n-k+i-]*a[n-k+i-];
ave=(sum*1.0)/(n-k);
double t=ave*ave*(n-k)+tot-*ave*sum;
ans=min(t,ans);
}
printf("%.9lf\n",ans);
}
return ;
}
HDU - 5073 Galaxy(数学)的更多相关文章
- hdu 5073 Galaxy 数学 铜牌题
0.5 题意:有n(n<=5e4)个质点位于一维直线上,现在你可以任意移动其中k个质点,且移动到任意位置,设移动后的中心为e,求最小的I=(x[1]-e)^2+(x[2]-e)^2+(x[3]- ...
- HDU 5073 Galaxy (2014 Anshan D简单数学)
HDU 5073 Galaxy (2014 Anshan D简单数学) 题目链接http://acm.hdu.edu.cn/showproblem.php?pid=5073 Description G ...
- hdu 5073 Galaxy(2014acm鞍山亚洲分部 C)
主题链接:http://acm.hdu.edu.cn/showproblem.php? pid=5073 Galaxy Time Limit: 2000/1000 MS (Java/Others) ...
- hdu 5073 Galaxy(2014acm鞍山亚洲分部 D)
主题链接:http://acm.hdu.edu.cn/showproblem.php? pid=5073 Galaxy Time Limit: 2000/1000 MS (Java/Others) ...
- HDU 5073 Galaxy(Anshan 2014)(数学推导,贪婪)
Galaxy Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 262144/262144 K (Java/Others) Total S ...
- ACM学习历程—HDU 5073 Galaxy(数学)
Description Good news for us: to release the financial pressure, the government started selling gala ...
- HDU 5073 Galaxy (数学)
Galaxy Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 262144/262144 K (Java/Others)Total Su ...
- 2014 Asia AnShan Regional Contest --- HDU 5073 Galaxy
Galaxy Problem's Link: http://acm.hdu.edu.cn/showproblem.php?pid=5073 Mean: 在一条数轴上,有n颗卫星,现在你可以改变k颗 ...
- HDU 5073 Galaxy(2014鞍山赛区现场赛D题)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5073 解题报告:在一条直线上有n颗星星,一开始这n颗星星绕着重心转,现在我们可以把其中的任意k颗星星移 ...
随机推荐
- 洛谷P3740 【[HAOI2014]贴海报】
(呃...本蒟蒻的第一篇题解qwq)..不废话了讲正题..思路来源于铺地毯(-->传送门)..先算出每一个格子上覆盖的海报并把可见的海报做标记然后算出有多少海报是可见的..但是作为省选题怎么可能 ...
- 【转】STM32擦除内部FLASH时间过长导致IWDG复位分析
@20119-01-29 [小记] STM32擦除内部FLASH时间过长导致IWDG复位分析
- 「JLOI2015」骗我呢 解题报告?
「JLOI2015」骗我呢 这什么神仙题 \[\color{purple}{Link}\] 可以学到的东西 对越过直线的东西翻折进行容斥 之类的..吧? Code: #include <cstd ...
- luogu3759 不勤劳的图书管理员 (树状数组套线段树)
交换的话,只有它们中间的书会对答案产生影响 树状数组记位置,套线段树记书的编号 它对应的页数和书的个数 然后就是减掉中间那些原来是逆序对的,再把交换以后是逆序对的加上 别忘了考虑这两个自己交换以后是不 ...
- urls 管理
问题阐述:如何管理多个app下的路由分发,使得管理更加清晰? 1. 在app下创建urls.py文件 from django.conf.urls import url from django.urls ...
- MYSQL timestamp NOT NULL插入NULL的报错问题
1. 在开发两个数据库数据同步功能的时候,需要在本地搭建一个本地的数据库作为一个本地库,然后用于同步开发库中的数据.在插入的时候出现了一个问题. 问题描述: 我们每张表中都会存在一个create_ti ...
- jconsole 连接 wildfly 10 监控
1,远程wildfly服务器: 访问:http://211.100.75.242:9990 按照提示添加用户,重启后可以登录进入.成功. 2,省事做法.本地解压wildfly服务器,进入wildfly ...
- A1099. Build A Binary Search Tree
A Binary Search Tree (BST) is recursively defined as a binary tree which has the following propertie ...
- SecureCRT或XShell软件
SecureCRT是一款支持SSH(SSH1和SSH2)的终端仿真程序,简单地说是Windows下登录UNIX或Linux服务器主机的软件. Xshell 是一个强大的安全终端模拟软件,它支持SSH1 ...
- Java String与Stringbuffer
String 与其它类型的转换,e.g. BigInteger Stringbuffer 诸多函数,replace…… String 不能修改,Stringbuffer 可以修改, 应避免以下的操作: ...