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. datatable常用设置

    bSort: false, // 是否排序功能 bFilter: false, // 过滤功能 bPaginate: true, // 翻页功能 bInfo: true, // 页脚信息 bProce ...

  2. webpack4 单独抽离打包 css 的新实现

    webpack4 单独抽离打包 css 的新实现 前言 之前我们使用的打包 css 无非两种方式:① 将 css 代码打包进 入口 js 文件中:② 使用第三方插件(extract-text-webp ...

  3. php 微信公众号图文消息回复的实现 与access_token

    //代码如下 <?phpclass IndexAction extends Action { public function __construct(){ } public function i ...

  4. 对文件 I/O,标准 I/O 的缓冲的理解

    1.标准I/O缓冲区 要理解标准I/O,就要先知道文件I/O的业务逻辑. 下面图示为文件I/O 如执行下面的代码: write(fd, buf2, sizeof(buf2)); 图中 buf:就是bu ...

  5. [Codeforces958E2]Guard Duty (medium)(区间DP)

    Description 题目链接 Solution 可以把题目转化一下模型,将间隔取出来,转化为N-1个数,限制不能取相邻两个数,求取K个数的最小价值 设DP[i][j]表示前i个数取j个最大价值(第 ...

  6. Android 拍照或相册选择照片进行显示缩放位图 Demo

    拍照后直接使用 BitmapFactory.decodeStream(...) 进行创建 Bitmap 并显示是有问题的. Bitmap 是个简单对象,它只存储实际像素数据,也就是说,即使原始照片已压 ...

  7. [Jenkins]持续集成环境下fingbug插件的安装使用与配置

    参考:https://wiki.jenkins.io/display/JENKINS/FindBugs+Plugin 突然,天降杂事.我是想安安静静的做个美丽的测试...但是事与愿违,项目经理叫我帮忙 ...

  8. CodeForces 522D Closest Equals 树状数组

    题意: 给出一个序列\(A\),有若干询问. 每次询问某个区间中值相等且距离最短的两个数,输出该距离,没有则输出-1. 分析: 令\(pre_i = max\{j| A_j = A_i, j < ...

  9. Mac下安装Angular报错处理

    安装 Angular CLI 命令: sudo npm install -g @angular/cli 打印如下错误:(权限问题) gyp WARN EACCES user "root&qu ...

  10. java跨服务器请求url获得数据

    在项目中,有时需要通过请求远程服务器上的url获取数据(前提是程序所在服务器可以和url服务器ping成功), 用java在后台发送请求时,用到了java.net.URL, java.net.URLC ...