2136: 统帅三军!

Submit Page   Summary   Time Limit: 1 Sec     Memory Limit: 128 Mb     Submitted: 55     Solved: 11


Description

Wells最近迷上了一款攻城的策略游戏,点就去就能当大元帅统帅三军!

游戏界面主要是一个平面(坐标可以为浮点数),然而Wells发现这游戏是个骗局,其实只给了一个军队。

Wells初始有一个军队,仅包含n个士兵,每个士兵有一个初始位置(x,y)和一个劳累指数Wi,每个队员可以移动,显然对于每个队员的移动是需要消耗一些体力的,若第i个队员从位置(x1,y1)移动到(x2,y2)的体力消耗为Wi*(|x2-x1|+|y2-y1|)。

Wells希望先将队伍集合起来,且希望整个队伍一次集合的体力消耗越少越好。显然能量消耗的多少直接取决与Wells对于会和点(x,y)的选择,然而Wells太懒了,希望你帮他找出某个时刻的最佳会和点。

Input

对于每组数据:

第一行:一个整数N,表示士兵数目。

第二行:一共N个整数,其中的第i个数Wi表示第i个队员的劳累指数。(N<=106)(N<=106)

接下来N行:每一行两个整数X和Y,表示第i个士兵的当前的横坐标和纵坐标。(−109<=X,Y<=109)(−109<=X,Y<=109)

Output

一个实数。表示所有队员集合到最佳攻击位置的体力消耗总和,答案保留两位小数。

Sample Input

1
1
0 0

Sample Output

0.00

Hint

Source

Author

Wells

题意:带权中位数

#include<iostream>
#include<cstdio>
#include<cstring>
#include<cmath>
#include<algorithm>
using namespace std;
const int maxn =1e6+;
struct data {
int x,y,w;
};
data num[maxn];
int n,i,j,k;
double sum,ans,xx,yy;
int xl,yl;
int cmp(data a,data b) {
return a.x<b.x;
}
int cmp1(data a,data b) {
return a.y<b.y;
}
int main() {
int T;
ios::sync_with_stdio(false);
cin.tie();
cin>>n;
sum=ans=xx=yy=;
for (i=; i<=n; i++) {
cin>>num[i].w;
sum+=num[i].w;
}
for (i=; i<=n; i++)
cin>>num[i].x>>num[i].y;
sort(num+,num+n+,cmp);
double mid=sum/;
for (i=; i<=n; i++) {
xx+=num[i].w;
if (xx>=mid) {
xl=num[i].x;
break;
}
}
for (i=; i<=n; i++)
ans+=num[i].w*(abs(num[i].x-xl));
sort(num+,num+n+,cmp1); for (i=; i<=n; i++) {
yy+=num[i].w;
if (yy>=mid) {
yl=num[i].y;
break;
}
}
for (i=; i<=n; i++)
ans+=num[i].w*(abs(num[i].y-yl));
printf("%0.2lf\n",ans);
return ;
}

CSU 2136 ——湖南多校对抗赛 I的更多相关文章

  1. Contest2073 - 湖南多校对抗赛(2015.04.06)

    Contest2073 - 湖南多校对抗赛(2015.04.06) Problem A: (More) Multiplication Time Limit: 1 Sec  Memory Limit:  ...

  2. Contest2071 - 湖南多校对抗赛(2015.03.28)

    Contest2071 - 湖南多校对抗赛(2015.03.28) 本次比赛试题由湖南大学ACM校队原创 http://acm.csu.edu.cn/OnlineJudge/contest.php?c ...

  3. Contest2089 - 湖南多校对抗赛(2015.05.31) Swipe(csu1648)

    Problem E: Swipe Time Limit: 1 Sec  Memory Limit: 128 MBSubmit: 100  Solved: 15[Submit][Status][Web ...

  4. Aquarium Tank(csu1634+几何+二分)Contest2087 - 湖南多校对抗赛(2015.05.24)-G

    Aquarium Tank Time Limit: 1 Sec  Memory Limit: 128 MBSubmit: 15  Solved: 4[Submit][Status][Web Board ...

  5. Heaps(Contest2080 - 湖南多校对抗赛(2015.05.10)(国防科大学校赛决赛-Semilive)+scu1616)

    Problem H: Heaps Time Limit: 2 Sec  Memory Limit: 128 MBSubmit: 48  Solved: 9[Submit][Status][Web Bo ...

  6. 湖南多校对抗赛(2015.05.03)Problem A: Twenty-four point

    给四个数 问能不能算出24点...我的方法比较烂...920ms 差点TLE.应该有更好的方法. #include<stdio.h> #include<string.h> #i ...

  7. 湖南多校对抗赛(2015.05.03)Problem B: War

    并查集.从后往前加边. #include<stdio.h> #include<string.h> #include<math.h> #include<algo ...

  8. Clock Pictures(kmp + Contest2075 - 湖南多校对抗赛(2015.04.26))

    Problem H: Clock Pictures Time Limit: 3 Sec  Memory Limit: 128 MBSubmit: 73  Solved: 18[Submit][Stat ...

  9. CSU 2130~湖南多校对抗第八场 C

    2130: Permutations Submit Page   Summary   Time Limit: 1 Sec     Memory Limit: 128 Mb     Submitted: ...

随机推荐

  1. Thinkphp 取消Url默认模块的现实

    例子http://www.tp.com/home/index/index 想要现实的效果是:http://www.tp.com/index/index 1是通过配置路由来达到目的 2通过配置首页的入口 ...

  2. MUI常用脚本及原生JavaScript常用操作元素方法

    1.mui元素转换html元素 var obj=mui("#id")[0]; 2.事件绑定 var btn = document.getElementById("logi ...

  3. php - empty() is_null() isset()的区别

    empty():当变量存在,并且是一个非空非零的值时,返回 FALSE,否则返回 TRUE. is_null():如果指定变量为 NULL,则返回 TRUE,否则返回 FALSE. isset():如 ...

  4. MySQL的隐式类型转换整理总结

    当我们对不同类型的值进行比较的时候,为了使得这些数值「可比较」(也可以称为类型的兼容性),MySQL会做一些隐式转化(Implicit type conversion). 比如下面的例子:   1 2 ...

  5. Python入门必知的几个点

    Python是Guido van Rossum在1989年圣诞节期间,为了打发无聊的圣诞节而编写的一个编程语言.全世界差不多有600多种编程语言,但流行的编程语言也就那么20来种.如果你听说过TIOB ...

  6. 交叉编译qt5.6

    按照网上的攻略编译QT5.6 https://www.lijingquan.net/2016/07/08/build-kernel-busybox-qt5-6-tslib-imx28/ 出现问题,找不 ...

  7. 笔记-python-lib-requests常用类/方法/属性

    笔记-python-lib-requests常用类/方法/属性 1.      requests模块常用类/方法/属性 在使用中发现对requests模块不够熟悉,写了几个案例后重新整理了一下文档,罗 ...

  8. [bzoj1552][Cerc2007]robotic sort&&[bzoj3506][Cqoi2014]排序机械臂

    非常垃圾的一道平衡树,结果被日了一天.很难受嗷嗷嗷 首先不得不说网上的题解让我这个本来就不熟悉平衡树的彩笔很难受——并不好理解. 还好Sinogi大佬非常的神,一眼就切掉了,而且用更加美妙的解法. 题 ...

  9. Spring---bean的实例化

    Spring IoC容器如何实例化Bean呢?传统应用程序可以通过new和反射方式进行实例化Bean.而Spring IoC 容器则需要根据Bean定义里的配置元数据使用反射机制来创建Bean.在Sp ...

  10. 第四模块:网络编程进阶&数据库开发 口述

    进程即正在执行的一个过程.进程是对正在运行程序的一个抽象. 子进程死了之后 ,父进程关闭的时候要清理掉子进程的僵尸进程(收尸),孤儿进程是指父进程先死掉了的,交给init管理. join() 等待子进 ...