绝对值不等式(贪心)
文章目录
- 前言
- 一、贪心
- 二、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;
}
三、时间复杂度
关于贪心——绝对值不等式的时间复杂度以及证明,后续会给出详细的说明以及证明过程,目前先鸽了。
绝对值不等式(贪心)相关推荐
- [绝对值不等式] 货仓选址(绝对值不等式+贪心)
文章目录 0. 前言 1. 排序不等式+贪心 0. 前言 最最最经典的绝对值不等式问题,有很多变种.这个题是最裸的模板题了. 1. 排序不等式+贪心 104. 货仓选址 贪心思路: 按照商店坐标从小到 ...
- 第六章贪心(三):排序不等式、绝对值不等式
第六章贪心(三):排序不等式.绝对值不等式.推公式 AcWing 913:排队打水 题目 有 n 个人排队到 1 个水龙头处打水,第 i 个人装满水桶所需的时间是 ti,请问如何安排他们的打水顺序才能 ...
- 【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, ...
- [AcWing] 104. 货仓选址(C++实现)贪心---绝对值不等式例题
[AcWing] 104. 货仓选址(C++实现)贪心---绝对值不等式例题 1. 题目 2. 读题(需要重点注意的东西) 3. 解法 4. 可能有帮助的前置习题 5. 所用到的数据结构与算法思想 6 ...
- ACM - 贪心 - 基础(区间问题 + Huffman树 + 排序不等式 + 绝对值不等式 + 推公式)
贪心 经典母题 1.区间问题 AcWing 905. 区间选点 AcWing 908. 最大不相交区间数量 AcWing 906. 区间分组 AcWing 907. 区间覆盖 2.Huffman树 A ...
- 每日四题打卡-4.15:耍杂技的牛/贪心绝对值不等式-货仓选址/贪心排序不等式-排队打水/huffman哈夫曼树-合并果子
耍杂技的牛 具体:https://blog.csdn.net/qq_27262727/article/details/105515507 农民约翰的N头奶牛(编号为1..N)计划逃跑并加入马戏团,为此 ...
- 贪心算法_排队不等式_绝对值不等式_推公式
文章目录 排队不等式 原题链接 题目大意: 思路: 证明: 代码: 绝对值不等式 原题链接 题目大意: 思路: 证明: 代码: 推公式 原题链接 题目大意 思路: 证明: 代码: 排队不等式 原题链接 ...
- 【算法基础26】贪心下——哈夫曼树、排序不等式、绝对值不等式、推公式的思路与应用
一.合并果子(哈夫曼树) 题目描述:给出n堆不同种类的果子,每堆果子的数量不同,每个果子的重量为1.每次只能合并相邻堆的果子,且花费的体力是果子的重量和.将所有果子合并成一堆,求最小的体力花费. 问题 ...
- 贪心(二):排序不等式、绝对值不等式、推公式
排序不等式 例题:排队打水 有 n 个人排队到 1 个水龙头处打水,第 i 个人装满水桶所需的时间是 titi,请问如何安排他们的打水顺序才能使所有人的等待时间之和最小? 输入格式 第一行包含整数 n ...
最新文章
- 基于java+jdbc+servlet+jsp实现图书商城
- 系列篇|编写一个翻转事件极性的package
- 其原因可能是堆被损坏,这也说明 xxx.exe 中或它所加载的任何 DLL 中有 bug
- springMVC项目国际化(i18n)实现方法
- 2021东京奥运会数据接口
- leetcode 790. Domino and Tromino Tiling | 790. 多米诺和托米诺平铺(暴力递归->DP)
- C#| 使用String.Format()方法将小数点前的数字四舍五入
- 国科大高级人工智能5-RNN/LSTM/GRU/集束搜索/attention
- 三款Scrum项目管理工具
- visual studio支持python吗_微软 Visual Studio Online 更新,更好地支持 Python 语言和 Docker...
- Java 开源 CMS :magnolia
- 手机home键、POWER 键分别是什么
- 王强是如何学计算机的,浙江大学计算机科学与技术学院导师介绍:王强
- 三种方式实现echarts树图的背景图片设置
- 训练MTCNN之前的环境以及依赖配置
- IIS的启动与停止命令
- 基于单片机的血压计c语言,基于单片机血压计的设计
- 研究计算机如何自动获取知识和技能的学科,在人工智能中有一个研究领域,主要研究计算机如何自动获取知识和技能,实现自我完善,这门研究分支学科叫( )...
- Error: Your CLT does not support macOS 11.6问题处理
- 个人备案的网站能放企业服务器吗,个人及企业域名备案对网站有什么影响
热门文章
- 车辆运动学模型到动力学模型推导
- msf反弹shell成功,却无法建立会话处理办法
- 第三部分:成交动力学之成交激素(二)——2、独特
- python3继承supper_python3中supper和继承顺序
- python软件设计数据分析统计服_学习笔记(一)-python制作数据分析工具
- 忠仕商务通修改对话界面内容
- 用html写一首古诗,怎么用html/css写一首古诗
- java中创建对象的一般格式是什么_Java零基础快速入门|对象的创建和使用(下)...
- 互联网技术从业者怎么解决系统高并发?
- LED显示屏技术基本知识