游黄山

Time Limit:1000MS Memory Limit:65536KB
Total Submit:165 Accepted:52 Special Judge

Description

Pollux最近到黄山游玩,他需要在黄山上找一个住宿的地方,Pollux很懒,所以他喜欢住在尽量靠近景点的地方,这样他就可以少走一些路.
现在一张黄山地图上有N个景点,P1(X1,Y1)、P2(X2,Y2)、 …Pn(Xn,Yn)Pollux对每个景点都有一个喜爱值W1,W2,…,Wi,Wn,如果Pollux住在P(X,Y),他到景点Pi的距离Di=|Xp-Xi|+|Yp-Yi|.Pollux希望你能帮他找到
一点P(X,Y),使得D=W1*D1+W2*D2+…+Wi*Di+…+Wn*Dn 有最小值. Pollux很强,可以住在任何地方

Input

第一行为一个整数T,表示测数数据的组数.
每组数据的第一行为 正整数N(1<=N<=100)
第二行至第N+1行,每行有三个数,第一和第二个数分别是这个点的X与Y的坐标Pi(xi,yi),第三个数为Pollux对这个景点的喜爱值Wi.(xi , yi, wi均为浮点小数,且wi为正数)

Output

每组测试数据输出三个数独占一行,分别是P点坐标 X 与 Y 和 最小的D值.
可能存在多个满足条件的P点,你只需要输出任意一个即可
三者之间用空格分隔,末尾不要空格,D值相对误差不能超过0.01

Sample Input

3
1
63.34 184.67 0.41
2
0.00 0.00 1.00
10.00 0.00 1.00
3
281.45 57.05 244.64
99.61 168.27 232.81
119.42 29.95 4.91

Sample Output

63.340000 184.670000 0.000000
7.000000 0.000000 10.000000
281.450000 57.050000 69155.926900

Source

华东师范大学2009校赛

解题:一道带权中位数题目

 #include <bits/stdc++.h>
using namespace std;
struct Point {
double x,y,w;
} p[];
double sum[];
bool cmpx(const Point &a,const Point &b) {
return a.x < b.x;
}
bool cmpy(const Point &a,const Point &b) {
return a.y < b.y;
}
int main() {
int kase,n;
scanf("%d",&kase);
while(kase--) {
scanf("%d",&n);
for(int i = ; i < n; ++i)
scanf("%lf %lf %lf",&p[i].x,&p[i].y,&p[i].w);
sort(p,p+n,cmpx);
sum[] = p[].w;
for(int i = ; i < n; ++i)
sum[i] = p[i].w + sum[i-];
double total = sum[n-],x,y;
for(int i = ; i < n; ++i) {
double left = i?sum[i-]:;
double right = sum[n-] - sum[i];
if(left <= 0.5*total && right <= 0.5*total) {
x = p[i].x;
break;
}
}
sort(p,p+n,cmpy);
sum[] = p[].w;
for(int i = ; i < n; ++i)
sum[i] = sum[i-] + p[i].w;
for(int i = ; i < n; ++i) {
double left = i?sum[i-]:;
double right = sum[n-] - sum[i];
if(left <= 0.5*total && right <= 0.5*total) {
y = p[i].y;
break;
}
}
double ret = ;
for(int i = ; i < n; ++i)
ret += p[i].w*(fabs(p[i].x - x) + fabs(p[i].y - y));
printf("%.6f %.6f %.6f\n",x,y,ret);
}
return ;
}

ECNUOJ 2616 游黄山的更多相关文章

  1. OJ题解记录计划

    容错声明: ①题目选自https://acm.ecnu.edu.cn/,不再检查题目删改情况 ②所有代码仅代表个人AC提交,不保证解法无误 E0001  A+B Problem First AC: 2 ...

  2. 使用子查询获取,使用 all 关键字获取比所有“国内短线游”价格高的线路信息,按照线路类型、线路价格升序显示线路编号、线路名和价格

    查看本章节 查看作业目录 需求说明: 使用子查询获取"国内短线游"及"国内长线游"的线路信息,按照线路类型.线路价格升序显示线路编号.线路名和价格 使用 all ...

  3. 微信小程序体验(2):驴妈妈景区门票即买即游

    驴妈妈因为出色的运营能力,被腾讯选为首批小程序内测单位.驴妈妈的技术开发团队在很短的时间内完成了开发任务,并积极参与到张小龙团队的内测问题反馈.驴妈妈认为,移动互联网时代,微信是巨大的流量入口,也是旅 ...

  4. 如何快速优化手游性能问题?从UGUI优化说起

    WeTest 导读   本文作者从自身多年的Unity项目UI开发及优化的经验出发,从UGUI,CPU,GPU以及unity特有资源等几个维度,介绍了unity手游性能优化的一些方法.   在之前的文 ...

  5. 游走 bzoj 3143

    游走(2s 128MB)walk [问题描述] [输入格式] [输出格式] [样例输入] 3 3 2 3 1 2 1 3 [样例输出] 3.333 [样例说明] 题解: 主要算法:贪心:高斯消元: 题 ...

  6. 基于Adobe Flash平台的3D页游技术剖析

    写在前面 从黑暗之光,佛本是道,大战神的有插件3D页游.再到如今的魔龙之戒. 足以证明,3D无插件正在引领页游技术的潮流. 目前,要做到3D引擎,有以下几个选择. 说到这里,我们发现.这些都不重要. ...

  7. 龙之谷手游WebVR技术分享

    主要面向Web前端工程师,需要一定Javascript及three.js基础:本文主要分享内容为基于three.js开发WebVR思路及碰到的问题:有兴趣的同学,欢迎跟帖讨论. 目录:一.项目体验1. ...

  8. 手游录屏直播技术详解 | 直播 SDK 性能优化实践

    在上期<直播推流端弱网优化策略 >中,我们介绍了直播推流端是如何优化的.本期,将介绍手游直播中录屏的实现方式. 直播经过一年左右的快速发展,衍生出越来越丰富的业务形式,也覆盖越来越广的应用 ...

  9. 【BZOJ-3143】游走 高斯消元 + 概率期望

    3143: [Hnoi2013]游走 Time Limit: 10 Sec  Memory Limit: 128 MBSubmit: 2264  Solved: 987[Submit][Status] ...

随机推荐

  1. STM8S103 STVD编译空间不足

    关于text空间(理解为代码空间)不足问题 # 关于.bsct和.ubsct问题(着重参考http://www.waveshare.net/article/STM8-3-1-10.htm) map文件 ...

  2. CTSC2012 熟悉的文章 广义后缀自动机_单调队列

    没啥难的,主要是单调队列忘了咋求了QAQ... Code: #include <cstdio> #include <algorithm> #include <cstrin ...

  3. JWT的初步了解以及session、cookie机制

    1.什么是状态保持? 想要了解JWT,首先需要知道什么是状态保持,举一个例子来说:无论是在web上还是在手机app上,我们都可以以游客的身份访问,此时都会有登录/注册字眼,当我们登录之后,就会是我们的 ...

  4. electron 新手教程 打包 exe

    1.安装nodejs(会自动安装npm) 2.桌面新建文件夹    your-app  (下面目录结构) your-app/ ├── package.json ├── main.js └── inde ...

  5. 比较排序算法(PHP)

    冒泡排序 两两比较相邻记录的关键字,如果反序则交换,大的数字往下沉,一直到最大的出现在数组最后 function swap(&$x, &$y) { $temp = $x; $x = $ ...

  6. Spring学习总结(14)——Spring10种常见异常解决方法

    在程序员生涯当中,提到最多的应该就是SSH三大框架了.作为第一大框架的Spring框架,我们经常使用. 然而在使用过程中,遇到过很多的常见异常,我在这里总结一下,大家共勉. 一.找不到配置文件的异常 ...

  7. POJ 2175 Evacuation Plan

    Evacuation Plan Time Limit: 1000ms Memory Limit: 65536KB This problem will be judged on PKU. Origina ...

  8. Cocos2dx学习报告2

    记录二:创建项目,其名曰DFJ(仿照微信打飞机) 上一个记录我们说到开发环境的配置以及如何去建立自己的项目. 如今我们就通过之前说所的方法来建立一个项目.这里我就不再截图了. 建立了自己的项目之后,我 ...

  9. js php 数组比較

    php 与 javascript 数组除了定义以及 操作上有非常大的差别,还有非常多其他的差别.如今我们就来讨论讨论.    1.大家都知道php比較两个数组是否全相等(值,索引)相等 $a=arra ...

  10. windows 快捷调用

    win + x:系统常用管理工具: win + r,或者按下 windows 键,在输入框中输入: services.msc:服务管理: diskmgmt.msc:磁盘管理: devmgmt.msc: ...