游黄山

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校赛

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

 1 #include <bits/stdc++.h>
 2 using namespace std;
 3 struct Point {
 4     double x,y,w;
 5 } p[200];
 6 double sum[200];
 7 bool cmpx(const Point &a,const Point &b) {
 8     return a.x < b.x;
 9 }
10 bool cmpy(const Point &a,const Point &b) {
11     return a.y < b.y;
12 }
13 int main() {
14     int kase,n;
15     scanf("%d",&kase);
16     while(kase--) {
17         scanf("%d",&n);
18         for(int i = 0; i < n; ++i)
19             scanf("%lf %lf %lf",&p[i].x,&p[i].y,&p[i].w);
20         sort(p,p+n,cmpx);
21         sum[0] = p[0].w;
22         for(int i = 1; i < n; ++i)
23             sum[i] = p[i].w + sum[i-1];
24         double total = sum[n-1],x,y;
25         for(int i = 0; i < n; ++i) {
26             double left = i?sum[i-1]:0;
27             double right = sum[n-1] - sum[i];
28             if(left <= 0.5*total && right <= 0.5*total) {
29                 x = p[i].x;
30                 break;
31             }
32         }
33         sort(p,p+n,cmpy);
34         sum[0] = p[0].w;
35         for(int i = 1; i < n; ++i)
36             sum[i] = sum[i-1] + p[i].w;
37         for(int i = 0; i < n; ++i) {
38             double left = i?sum[i-1]:0;
39             double right = sum[n-1] - sum[i];
40             if(left <= 0.5*total && right <= 0.5*total) {
41                 y = p[i].y;
42                 break;
43             }
44         }
45         double ret = 0;
46         for(int i = 0; i < n; ++i)
47             ret += p[i].w*(fabs(p[i].x - x) + fabs(p[i].y - y));
48         printf("%.6f %.6f %.6f\n",x,y,ret);
49     }
50     return 0;
51 }

View Code

转载于:https://www.cnblogs.com/crackpotisback/p/4627586.html

ECNUOJ 2616 游黄山相关推荐

  1. 豆豆游黄山[201602]

    利用年前有限的时间,带豆豆去黄山玩了一趟. [b][第一天][/b] 高铁到黄山北,正下着不小的雨,之前查了天气,据说明天会晴.汽车站离火车站很近,坐汽车直接赶到汤口镇,汤口正下着鹅毛大雪,豆豆极为兴 ...

  2. 冬季黄山(2~3 日游)攻略

    读前 冬游黄山最终选择在19年12月8日,气温相对前几天来说有所回升.本次出行的主要目的有二:1)爬山:2)温泉,所以要尽量在完成目的的前提下节省支出.经过一番调研,温泉太贵,而且和爬山有点脱节,故准 ...

  3. 黄山游之西海大峡谷篇

    黄山游之西海大峡谷,西海大峡谷是近年来黄山新开发的景区,也号称梦幻景区,  西海大峡谷既有千仞壁立.万壑峥嵘的磅礴气势,又有群峰竞秀.巧石如林的画意诗情,可以说是无处不景.无景不奇.步移景换.目不暇接 ...

  4. 《登黄山偶感》艺术品赏

    去年五月十七日至二十四日,×××同志在安徽视察工作期间,兴致勃勃地攀登了黄山,并欣然赋诗一首<登黄山偶感>.这首诗的诗前小序,记叙了诗人登山的宿愿,登山的时间,登山的路径,并描绘了诗人登临 ...

  5. Journey - 黄山相关资料

    FAQ & TIPS 黄山的道路是一个圆周形趋势的循环路线,也就是说无论是选择前山或后山进入景区,进山也好.出山也好都必须通过黄山南大门,南大门既是进黄山的起点,又是出黄山的终点.下山后回市区 ...

  6. 带栩字的优美古诗句_带栩字的名字_以栩字起名-尚名网

    带栩字的名字_以栩字起名-尚名网 一个含义吉祥.美好.典雅的名字,某种程度上可以激励自己奋发努力.因此,我们在给宝宝起名的时候,一定要注意选择那些字义和寓意都很美好的字眼. 栩字五行属木 五行拼音繁体 ...

  7. 作用python需要语言编写小游戏_作的解释|作的意思|汉典“作”字的基本解释

    详细字义 ◎ 作 zuō 〈名〉 (1) 作坊,手工业工场 [workshop] 明帝方修宫室而节气不合,-而 礼径至所作,不复重奏,称诏罢民.--<三国志·魏志> 又如:作房(作坊);作 ...

  8. 2019,我的影像记录

    IT公司都有写年终总结的习惯吧?工作这么多年,每年都会写总结,今年也不例外.不过今年的总结乏善可陈,都是一些日常的维护工作.都说中国今年的形式很差,IT行业应该感受很深吧.还有人说今年是未来十年最好的 ...

  9. 植物大战僵尸python源代码_植的解释|植的意思|汉典“植”字的基本解释

    详细字义 ◎ 植 zhí 〈名〉 (1) (形声.从木,直声.本义:关闭门户用的直木) (2) 同本义 [door post] 植,户植也.--<说文>.按,古门外闭,中竖直木,以铁了鸟关 ...

  10. java 多音词语转拼音_转多音_词语_成语_百度汉语

    (形声.从车,专声.转运要用车,故从车.本义:转运) 同本义(通过陆路运输) 转,运也.--<说文> 胡转予于恤?--<诗·小雅·祈父> 丁壮苦军旅,老弱罢转饷.--<汉 ...

最新文章

  1. linux date使用方法,linux命令详解date使用方法(计算母亲节和父亲节日期脚本示例)...
  2. 无锁缓存,每秒10万并发,究竟如何实现?
  3. unipapp 解决无法编译sass_Sass教程一:Sass概况
  4. short,int,long ,long long ,_int64类型的范围详解
  5. HarmonyOS之常用组件TabList与Tab的功能和使用
  6. C++控制向文件中写入浮点数的格式
  7. ABAP WRITE
  8. 第二百九十四节,Redis缓存-Redis安装
  9. 【笔记】双线性池化(Bilinear Pooling)详解、改进及应用
  10. Python3的opencv环境搭建简易教程
  11. 发现一个非常好用的扒站工具IDM
  12. 配置管理计划的新设想
  13. Windows 10 输入法莫名其妙变为繁体的解决方法
  14. 互联网思维——极致思维
  15. 怎么克隆计算机的mac,选中克隆为当前电脑MAC地址
  16. 如何下载头歌平台在线实验闯关中的文件到本地进行查看
  17. 基于C++的社交应用的数据存储与实现
  18. Cesium地下管线信息系统(视频)
  19. Python3的基本数据类型
  20. JavaScript获取标签的几种方式

热门文章

  1. PIXI入门-PIXI文档翻译(1)
  2. tar命令下的--exclude
  3. 专访:InMobi全球CEO Naveen Tewari
  4. 版本管理工具-SourceSafe
  5. mysql 修改列格式化_prettytable:像数据库一样格式化输出内容
  6. PLC中忘记cpu密码怎么办?
  7. 计算机专业买啥样笔记本,高考结束,想学计算机专业,买台啥样的笔记本比较好,暑假自学c和cpp...
  8. 8、鼠标控制与32位模式切换
  9. 快速入门spring data jpa 2,多表操作,逻辑删除
  10. python Plot 画图用法