zoukankan      html  css  js  c++  java
  • 中位数原理详解

    https://www.acwing.com/problem/content/106/

    题目的意思很简单,用到的原理是中位数到各个数之间的距离之和最小。

    虽然都说是思维题,不怎么需要证明,无奈脑子太笨了,还是自己动笔证明一下。

    对于题目所给的n:

    当n为奇数时,中位数为amid。这时货仓选在amid处建立。此时在中位数的两端仓库的数目都是一样的,假设此时的距离之和为sum。

    假若货仓在amid-1处建立,此时货舱左端的仓库数要比右端仓库数少一。此时的各点到货仓的距离相比中位数时都多了或少了amid-amid-1。由于右端数目多一个,因此最终的距离会变大。

    剩下的就可以以此类推。

    偶数的情况时,我们选择在an/2和an/2+1之间建立。但是由于没有这个点的位置,即an/2+1/2这个位置。我们考虑在an/2或者an/2+1建立。此时把an/2和an/2+1之间的距离抽象为一个点,这时n就变为了奇数,与上面的情况一模一样。

  • 相关阅读:
    Linux下安装MySql8
    root与alias主要区别
    TCP/UDP 常用端口列表
    kafka文档
    kafka监测工具(可视化)
    Kafka消息队列
    postgresql
    gulp babel 配置不报错也没有输出结果的原因
    gulp中常用的模块
    判断浏览器标签页是隐藏或者显示状态
  • 原文地址:https://www.cnblogs.com/Drqidian/p/14256535.html
Copyright © 2011-2022 走看看