文章目录

  • 前言
  • 一、贪心
  • 二、AcWing 104. 货仓选址
    • 本题解析
    • AC代码
  • 三、时间复杂度

前言

复习acwing算法基础课的内容,本篇为讲解基础算法:贪心——绝对值不等式,关于时间复杂度:目前博主不太会计算,先鸽了,日后一定补上。


一、贪心

贪心:利益最大化,即找到最优的情况,贪心问题难在证明,即你可能能推断出这个题目的正确解法,但是这个解法下为什么就是最优解不好证明。


二、AcWing 104. 货仓选址

本题链接:AcWing 104. 货仓选址
本博客提供本题截图:

本题解析

如果店铺的个数为奇数的时候,那么取最中间的店铺为距离之和最短:即选取(6 / 2)(0 ~ 6为7个店铺为奇数)

如果店铺的个数为偶数的时候,那么如下图所示的区间内的点都可以是我们货仓建立的地点,在这段区间内任何一点都有到所有店铺的距离之和最短:

那么为了我们方便代码的书写,取(7 / 3)的店铺,故综上所述,对于有这么n个排好序的店铺,我们都去(n / 2)号店铺作为货仓的地点即可

AC代码

#include <iostream>
#include <algorithm>using namespace std;const int N = 100010;int n;
int q[N];int main()
{scanf("%d", &n);for (int i = 0; i < n; i ++ ) scanf("%d", &q[i]);sort(q, q + n);int res = 0;for (int i = 0; i < n; i ++ ) res += abs(q[i] - q[n / 2]);printf("%d\n", res);return 0;
}

三、时间复杂度

关于贪心——绝对值不等式的时间复杂度以及证明,后续会给出详细的说明以及证明过程,目前先鸽了。

绝对值不等式(贪心)相关推荐

  1. [绝对值不等式] 货仓选址(绝对值不等式+贪心)

    文章目录 0. 前言 1. 排序不等式+贪心 0. 前言 最最最经典的绝对值不等式问题,有很多变种.这个题是最裸的模板题了. 1. 排序不等式+贪心 104. 货仓选址 贪心思路: 按照商店坐标从小到 ...

  2. 第六章贪心(三):排序不等式、绝对值不等式

    第六章贪心(三):排序不等式.绝对值不等式.推公式 AcWing 913:排队打水 题目 有 n 个人排队到 1 个水龙头处打水,第 i 个人装满水桶所需的时间是 ti,请问如何安排他们的打水顺序才能 ...

  3. 【acwing】104. 货仓选址*(贪心|绝对值不等式)

    穿越隧道 绝对值不等式 如果x在a~b区间外,∣a−x∣+∣b−x∣>=∣a−b∣|a - x| + |b - x| >= |a-b|∣a−x∣+∣b−x∣>=∣a−b∣(当x在a, ...

  4. [AcWing] 104. 货仓选址(C++实现)贪心---绝对值不等式例题

    [AcWing] 104. 货仓选址(C++实现)贪心---绝对值不等式例题 1. 题目 2. 读题(需要重点注意的东西) 3. 解法 4. 可能有帮助的前置习题 5. 所用到的数据结构与算法思想 6 ...

  5. ACM - 贪心 - 基础(区间问题 + Huffman树 + 排序不等式 + 绝对值不等式 + 推公式)

    贪心 经典母题 1.区间问题 AcWing 905. 区间选点 AcWing 908. 最大不相交区间数量 AcWing 906. 区间分组 AcWing 907. 区间覆盖 2.Huffman树 A ...

  6. 每日四题打卡-4.15:耍杂技的牛/贪心绝对值不等式-货仓选址/贪心排序不等式-排队打水/huffman哈夫曼树-合并果子

    耍杂技的牛 具体:https://blog.csdn.net/qq_27262727/article/details/105515507 农民约翰的N头奶牛(编号为1..N)计划逃跑并加入马戏团,为此 ...

  7. 贪心算法_排队不等式_绝对值不等式_推公式

    文章目录 排队不等式 原题链接 题目大意: 思路: 证明: 代码: 绝对值不等式 原题链接 题目大意: 思路: 证明: 代码: 推公式 原题链接 题目大意 思路: 证明: 代码: 排队不等式 原题链接 ...

  8. 【算法基础26】贪心下——哈夫曼树、排序不等式、绝对值不等式、推公式的思路与应用

    一.合并果子(哈夫曼树) 题目描述:给出n堆不同种类的果子,每堆果子的数量不同,每个果子的重量为1.每次只能合并相邻堆的果子,且花费的体力是果子的重量和.将所有果子合并成一堆,求最小的体力花费. 问题 ...

  9. 贪心(二):排序不等式、绝对值不等式、推公式

    排序不等式 例题:排队打水 有 n 个人排队到 1 个水龙头处打水,第 i 个人装满水桶所需的时间是 titi,请问如何安排他们的打水顺序才能使所有人的等待时间之和最小? 输入格式 第一行包含整数 n ...

最新文章

  1. 基于java+jdbc+servlet+jsp实现图书商城
  2. 系列篇|编写一个翻转事件极性的package
  3. 其原因可能是堆被损坏,这也说明 xxx.exe 中或它所加载的任何 DLL 中有 bug
  4. springMVC项目国际化(i18n)实现方法
  5. 2021东京奥运会数据接口
  6. leetcode 790. Domino and Tromino Tiling | 790. 多米诺和托米诺平铺(暴力递归->DP)
  7. C#| 使用String.Format()方法将小数点前的数字四舍五入
  8. 国科大高级人工智能5-RNN/LSTM/GRU/集束搜索/attention
  9. 三款Scrum项目管理工具
  10. visual studio支持python吗_微软 Visual Studio Online 更新,更好地支持 Python 语言和 Docker...
  11. Java 开源 CMS :magnolia
  12. 手机home键、POWER 键分别是什么
  13. 王强是如何学计算机的,浙江大学计算机科学与技术学院导师介绍:王强
  14. 三种方式实现echarts树图的背景图片设置
  15. 训练MTCNN之前的环境以及依赖配置
  16. IIS的启动与停止命令
  17. 基于单片机的血压计c语言,基于单片机血压计的设计
  18. 研究计算机如何自动获取知识和技能的学科,在人工智能中有一个研究领域,主要研究计算机如何自动获取知识和技能,实现自我完善,这门研究分支学科叫( )...
  19. Error: Your CLT does not support macOS 11.6问题处理
  20. 个人备案的网站能放企业服务器吗,个人及企业域名备案对网站有什么影响

热门文章

  1. 车辆运动学模型到动力学模型推导
  2. msf反弹shell成功,却无法建立会话处理办法
  3. 第三部分:成交动力学之成交激素(二)——2、独特
  4. python3继承supper_python3中supper和继承顺序
  5. python软件设计数据分析统计服_学习笔记(一)-python制作数据分析工具
  6. 忠仕商务通修改对话界面内容
  7. 用html写一首古诗,怎么用html/css写一首古诗
  8. java中创建对象的一般格式是什么_Java零基础快速入门|对象的创建和使用(下)...
  9. 互联网技术从业者怎么解决系统高并发?
  10. LED显示屏技术基本知识