CSU 2136 ——湖南多校对抗赛 I
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的更多相关文章
- Contest2073 - 湖南多校对抗赛(2015.04.06)
Contest2073 - 湖南多校对抗赛(2015.04.06) Problem A: (More) Multiplication Time Limit: 1 Sec Memory Limit: ...
- Contest2071 - 湖南多校对抗赛(2015.03.28)
Contest2071 - 湖南多校对抗赛(2015.03.28) 本次比赛试题由湖南大学ACM校队原创 http://acm.csu.edu.cn/OnlineJudge/contest.php?c ...
- Contest2089 - 湖南多校对抗赛(2015.05.31) Swipe(csu1648)
Problem E: Swipe Time Limit: 1 Sec Memory Limit: 128 MBSubmit: 100 Solved: 15[Submit][Status][Web ...
- 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 ...
- 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 ...
- 湖南多校对抗赛(2015.05.03)Problem A: Twenty-four point
给四个数 问能不能算出24点...我的方法比较烂...920ms 差点TLE.应该有更好的方法. #include<stdio.h> #include<string.h> #i ...
- 湖南多校对抗赛(2015.05.03)Problem B: War
并查集.从后往前加边. #include<stdio.h> #include<string.h> #include<math.h> #include<algo ...
- Clock Pictures(kmp + Contest2075 - 湖南多校对抗赛(2015.04.26))
Problem H: Clock Pictures Time Limit: 3 Sec Memory Limit: 128 MBSubmit: 73 Solved: 18[Submit][Stat ...
- CSU 2130~湖南多校对抗第八场 C
2130: Permutations Submit Page Summary Time Limit: 1 Sec Memory Limit: 128 Mb Submitted: ...
随机推荐
- redis数据库的安装配置
redis是当前比较热门的NOSQL系统之一,它是一个key-value存储系统.和Memcached类似,但很大程度补偿了memcached的不足,它支持存储的value类型相对更多,包括strin ...
- HTML5--定义区块
1.效果图如下: 备注: <article> 1.作用:用来表示文档.页面中独立的.完整的.可以独自被外部引用的内容 2.一般有个header元素,有时还有脚注 <article&g ...
- 正则表达式re.S的用法
正则表达式re.S的用法 在Python的正则表达式中,有一个参数为re.S.它表示"."(不包含外侧双引号,下同)的作用扩展到整个字符串,包括"\n".看如下 ...
- python的多继承C3(mro)算法
多继承的继承顺序按照C3算法进行顺序继承 例一 按照深度A类从左往右有三条可继承的"路" 先按照深度优先的算法,将每一路的每一个节点加到列表中 B = [B,D,F,H] C = ...
- request中的那些方法到底是干什么的?
最近做Java Web项目,在.jsp页面和servlet之间request和response还是有些混淆,查阅了一些资料,总结如下,方便以后使用: 首先,servlet接口是最基本的,提供的五个方法 ...
- elasticsearch 5.x 系列之一 开始安装啦
以下是镇楼用的,各路退让,我要吹liubi 了 // // _oo0oo_ // o8888888o // 88" . "88 // (| -_- |) // 0\ = /0 // ...
- shell+vim——05
ln --->link 链接, 链接有两种: 软连接 ln -s 源文件 目标文件 :相当于创建了一个快捷方式,源文件损坏后这个链接也就失效了 ln -s a.text a.text.s ...
- 云心出岫——Splay Tree
(多图预警!!!建议在WI-FI下观看) 之前我们谈论过AVL树,这是一种典型适度平衡的二叉搜索树,成立条件是保持平衡因子在[-1,1]的范围内,这个条件已经是针对理想平衡做出的一个妥协了,但依然显得 ...
- dubbo的rpc异常
Exception in thread "main" com.alibaba.dubbo.rpc.RpcException: Failed to invoke the method ...
- salt demo 环境
demo 环境 安装 virtualBox和vagrant 安装工具包:virtualBox, vagrant 下载 https://github.com/UtahDave/salt-vagrant- ...