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. CodeMirror的使用方法

    最近项目中用到了CodeMirror这个代码编辑器,感觉非常好用,可以设置很多种代码格式.默认前提是你已经正确引入了所有的js文件和css文件. 下面是我在项目中用到过和在网上搜集整理的使用方法: 1 ...

  2. PHP常用180函数总结

    数学函数 1.abs(): 求绝对值 <span style="font-size: 14px;">$abs = abs(-4.2); //4.2<br>& ...

  3. ethereum(以太坊)(八)--Address

    pragma solidity ^0.4.0; contract Test{ address _owner; uint160 _c; constructor() public{ _owner = 0x ...

  4. 深入理解restfulAPI和 Oauth2.0(精简版)

    一.restfulAPI 1.解释: restfulAPI协议,我们也可以说是一套API接口编写风格. 它被现在很多企业所认可和默认,是一套成俗的API接口编写方案. 2.restfulAPI之资源 ...

  5. ASCII码排序 南阳acm4

    ASCII码排序 时间限制:3000 ms  |  内存限制:65535 KB 难度:2   描述 输入三个字符(可以重复)后,按各字符的ASCII码从小到大的顺序输出这三个字符.   输入 第一行输 ...

  6. ABAP自定义截取字符串长度函数

    SAP 中strlen()只能计算字符串的个数,不能计算含有中文字符串的长度,如字符串“SAP大波霸”,strlen('SAP大波霸') = 6,其实真实长度为3+3*2 = 9.我们可以通过cl_a ...

  7. Android 使用RxJava实现一个发布/订阅事件总线

    1.简单介绍 1.1.发布/订阅事件主要用于网络请求的回调. 事件总线可以使Android各组件之间的通信变得简单,而且可以解耦. 其实RxJava实现事件总线和EventBus比较类似,他们都依据与 ...

  8. 原码、反码、补码、BCD码、格雷码

    二进制的最高位表示这个二进制的正负符号(0为正,1为负),其余各位数表示其数值本身称为原码. 正数的反码等于原码,负数的反码是在原码的基础上,符号位不变,其余各位取反. 正数的补码等于原码,负数的补码 ...

  9. 1008: [HNOI2008]越狱(计数问题)

    1008: [HNOI2008]越狱 Time Limit: 1 Sec  Memory Limit: 162 MBSubmit: 11361  Solved: 4914[Submit][Status ...

  10. windows下使用Python出现No module named tkinter.ttk

    1. 编辑工具使用Pycharm,windows平台,运行的时候报错误 2. 目前用的是Python2.7版本,对比了一下已有的库,名字不太一样,因此换成Python3.6的测试一下暂时没这个问题了. ...