YL杯超级篮球赛

jzoj1325

题目大意

给n个点,每一个点都有一个值(aia_iai​),现在让你找出一个点,使∑i=1n(∣X−xi∣+∣Y−yi∣)×ai\sum_{i=1}^{n} (|X-x_i|+|Y-y_i|)×a_i∑i=1n​(∣X−xi​∣+∣Y−yi​∣)×ai​最小,输出此公式的值

输入样例

1
1
0 0

输出样例

0.00

数据范围

第一题N⩽50000N\leqslant 50000N⩽50000,x,y都在longint范围内。

解题思路

我们可以发现x和y没有任何关系,我们可以拆开来求,然后我们判断XY在那个位置最优即可(详情见代码),有dalao说就是带权中位数(好像又是)

代码

#include<queue>
#include<cstdio>
#include<cstring>
#include<iostream>
#include<algorithm>
#define ll long long
using namespace std;
ll n, s, xl, yl, num, ans, a[50500];
struct rec
{ll w, s;
}x[50500], y[50500];
bool cmp(rec x, rec y)
{return x.w < y.w;
}
int main()
{scanf("%lld", &n);for (ll i = 1; i <= n; ++i){scanf("%lld", &a[i]);num += a[i];}for (ll i = 1; i <= n; ++i){scanf("%lld %lld", &x[i].w, &y[i].w);x[i].s = a[i];//记下权值y[i].s = a[i];}sort(x + 1, x + 1 + n, cmp);//排序sort(y + 1, y + 1 + n, cmp);xl = 1;while (xl < n){s += x[xl].s;while(x[xl + 1].w == x[xl].w)//位置相同的都要加在一起s += x[++xl].s;if (s < num - s) xl++;//往右挪对s各单位有负影响对剩下的有正影响else break;}s = 0;yl = 1;while (yl < n)//同上{s += y[yl].s;while(y[yl + 1].w == y[yl].w)s += y[++yl].s;if (s < num - s) yl++;else break;}for (ll i = 1; i <= n; ++i)ans += abs(x[xl].w - x[i].w) * x[i].s + abs(y[yl].w - y[i].w) * y[i].s;//求总和printf("%lld.00", ans);
}

YL杯超级篮球赛(jzoj 1325)相关推荐

  1. YL杯超级篮球赛_纪中1325_带权中位数

    Description 一年一度的高一YL杯超级篮球赛开赛了.当然,所谓超级,意思是参赛人数可能多余5人.小三对这项篮球非常感兴趣,所以一场都没有落下.每个中午都准时守侯在篮球场看比赛.经过一个星期的 ...

  2. 【t017】YL杯超级篮球赛

    Time Limit: 1 second Memory Limit: 256 MB [问题描述] 一年一度的高一YL杯超级篮球赛开赛了.当然,所谓超级的意思是参赛人数可能多于5人.小三对这场篮球赛非常 ...

  3. 《大话设计模式》第29章-OOTV杯超级模式大赛—模式总结(四)

    <大话设计模式>将于11月底由清华大学出版社出版 <大话设计模式>第29章-OOTV杯超级模式大赛-模式总结(一) <大话设计模式>第29章-OOTV杯超级模式大赛 ...

  4. 《大话设计模式》第29章-OOTV杯超级模式大赛—模式总结(一)

    本文出自<大话设计模式>第29章,转载请注明出处.对小菜和大鸟不熟悉的朋友可先去阅读小菜编程成长记系列.本书中出现的"[]"是表示句子摘自某书,比如[DP]表示此句摘自 ...

  5. 《大话设计模式》第29章-OOTV杯超级模式大赛—模式总结(五)

    <大话设计模式>将于11月底由清华大学出版社出版 <大话设计模式>第29章-OOTV杯超级模式大赛-模式总结(一) <大话设计模式>第29章-OOTV杯超级模式大赛 ...

  6. 第二十九章 OOTV杯超级模式大赛-模式总结(读书笔记)

    第29章OOTV杯超级模式大赛-模式总结 29.1 演讲任务  小菜睡眼朦胧,趴到了桌上,打起盹来,不一会儿就进入了梦乡. 29.2 报名参赛  工厂模式三姐妹:工厂方法,抽象工厂方法,简单工厂方法. ...

  7. 《大话设计模式》第29章-OOTV杯超级模式大赛—模式总结(三)

    <大话设计模式>将于11月底由清华大学出版社出版 <大话设计模式>第29章-OOTV杯超级模式大赛-模式总结(一) <大话设计模式>第29章-OOTV杯超级模式大赛 ...

  8. 蓝桥杯—超级质数python

    蓝桥杯-超级质数python 文章目录 蓝桥杯-超级质数python [问题描述] [解题思路] 质数定义 1.个位数中质数有 2,3,5,7 2.判断该数中每一个数字是否为质数2,3,5,7 3.判 ...

  9. 计算机学院篮球队介绍,计算机与信息学院男子篮球队荣获“抗疫杯”校篮球赛冠军采访纪实...

    在2020年福建农林大学"抗疫杯"篮球赛中,计算机与信息学院男子篮球队一路披荆斩棘,最终荣获福建农林大学"抗疫杯"篮球赛总冠军.计算机与信息学院男子篮球队以所向 ...

最新文章

  1. Android邮件发送详解
  2. python dict保存到文件_将dict写入txt文件并将其读回?
  3. nyoj 聪明的kk
  4. 这几款 JVM 故障诊断处理工具,你还不会?
  5. 睡前1分钟 坚持瘦下来(信不信由你)
  6. 传文件 华为云桌面_怎么避免亚马逊账号关联(二)?阿里云华为云ECS远程桌面教程...
  7. python3 编程学习链接
  8. PMP考试试题是什么样?
  9. HashMap底层原理与面试题
  10. vue2项目中给echarts地图设置背景图和打点
  11. 如何建语料库_如何建立自己的语料库?
  12. 计算机关机doc命,[计算机]自动关机命令设置.doc
  13. c语言编程a4988驱动步进电机,A4988驱动NEMA步进电机(42步进电机)
  14. MYSQL长时间保持连接
  15. GO实现 回文质数 (Prime Palindromes)
  16. html打开方式解锁,解锁bootloader
  17. 【约束 约束 约束】
  18. PSpice 仿真混沌电路的相图的步骤
  19. solidworks导出obj模型和mtl材质
  20. kubernetes 入门介绍

热门文章

  1. java new 面试_java面试30问
  2. android 导航 美国,变美了 Android N或用全新虚拟导航按键
  3. 卡屏java_Java drawImage到屏幕上一卡一卡的
  4. python转字符_python 字符转换
  5. 提高python执行效率_提升Python程序运行效率的6个方法
  6. 数据科学与python语言——Pandas统计分析基础(时间转换+聚合)
  7. 7-3 最小生成树-kruskal (10 分)(思路+详解+并查集详解+段错误超时解决)宝 Come
  8. [设计模式]依赖倒转原则
  9. [蓝桥杯2019初赛]矩形切割-找规律
  10. 辅助类BinaryTreeNodeLeftChildRightSibling(左孩子右兄弟,二叉树结点)