文章目录

  • 0. 前言
  • 1. 排序不等式+贪心

0. 前言

经典的排序不等式问题,也是一个简单的小学数奥问题。

1. 排序不等式+贪心

913. 排队打水


贪心思路:

  • 让最墨迹的人最后打水,即从小到大排序后即为最优打水顺序

证明:

  • 以样例 3 6 1 4 2 5 7,进行简单证明:
  • 第一个同学打水需要 3 分钟,会导致后面所有的同学等待,即总的时间推公式就可得:3*6+6*5+1*4+4*3+2*2+5*1+7*0
  • 假设,共有 nnn 个同学,其中第 iii,同学打水时间为 tit_iti​,则总时间 www,就等于 w=∑inti(n−i)w=\sum_i^n t_i(n-i)w=∑in​ti​(n−i)

注意答案会爆 int,最多有 10w 个同学,即便每个同学打水时间为 1,那么仍需要从 1+2+...+99999 等差数列简单求和 (10^5)^2 /2 差不多是 5e9,即 50 亿大小的数值,随随便便爆 int

代码:

#include <iostream>
#include <algorithm>using namespace std;const int N = 1e5+5;int n;
int a[N];int main() {cin >> n;for (int i = 0; i < n; ++i) cin >> a[i];sort(a, a + n);long long res = 0;      // WA后就知道开long long 了...for (int i = 0; i < n; ++i) res += a[i] * (n - i - 1);cout << res << endl;return 0;
}

[排序不等式] 排队打水(排序不等式+贪心)相关推荐

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

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

  2. 贪心:排队打水—排序不等式

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

  3. 贪心——排序不等式——排队打水

    排队打水 总共n人 T=t1*(n-1)+t2*(n-2)+--+tn 按从小到大的顺序排序,等待时间最小 #include <iostream> #include <algorit ...

  4. AcWing 913. 排队打水 (排序不等式)

    AcWing 913. 排队打水 有 n n n 个人排队到 1 1 1 个水龙头处打水,第 i i i 个人装满水桶所需的时间是 t i t_{i} ti​,请问如何安排他们的打水顺序才能使所有人的 ...

  5. 蓝桥杯 ADV-148算法提高 排队打水问题(贪心)

    问题描述 有n个人排队到r个水龙头去打水,他们装满水桶的时间t1.t2---..tn为整数且各不相等,应如何安排他们的打水顺序才能使他们总共花费的时间最少? 输入格式 第一行n,r (n<=50 ...

  6. 排序不等式 AcWing 913. 排队打水

    排序不等式 AcWing 913. 排队打水 原题链接 AcWing 913. 排队打水 算法标签 贪心 排序不等式 思路 1 将nnn个人装满水桶所需的时间从小到大进行排序 2 从前往后枚举每一个人 ...

  7. 贪心:Huffman树(合并果子)、排序不等式(排队打水)

    Huffman树 AcWing 148. 合并果子 在一个果园里,达达已经将所有的果子打了下来,而且按果子的不同种类分成了不同的堆. 达达决定把所有的果子合成一堆. 每一次合并,达达可以把两堆果子合并 ...

  8. 切比雪夫不等式例题讲解_排序不等式,切比雪夫不等式及伯努利不等式

    我们比较熟悉的不等式可能就是下面的这个不等式链以及柯西不等式了: 对于不等式链的证明我们可以看下面这张图,非常直观形象: 不太懂得也可以看这个视频讲解: 知乎视频​www.zhihu.com 对于柯西 ...

  9. 17行代码AC_51Nod - 2133 排队接水(贪心)

    励志用少的代码做高效表达 贪心算法模板题 贪心算法简单来讲即自顶向下,求解出每个子最优解,且每个子问题不会对下一个问题产生影响 题意:n个人排队接水,问如何排序才能使总等待时间最短,(正在接水的人和没 ...

最新文章

  1. SourceTree的安装
  2. 性能测试时需要关注哪些性能
  3. animateWithDuration:animations:completion:
  4. 如何配置 SAP BTP Integration Suite 测试帐号的环境
  5. Git图形化管理工具
  6. 使用JUnit规则测试预期的异常
  7. leetcode412. Fizz Buzz
  8. 极光推送指定用户推送_干货|SpringBoot集成极光推送完整实现代码(建议收藏)...
  9. 论MVVM伪框架结构和MVC中M的实现机制
  10. c#发送简单的post、get请求
  11. 【Iterm2】如何解决iterm2窗口自动隐藏的问题
  12. Ubuntu18.04安装ROS Melodic(解决网络原因,先将所需压缩包下载到本地,然后rosdep update)
  13. 没有别的厂家生产薯片?
  14. ML Case Studies(0)
  15. 电脑网络禁用了怎么恢复_Tenorshare UltData for Mac(iOS数据恢复备份软件)v9.4.1中文激活版_软件动态论坛...
  16. 海信LINUX系统改安卓,如何获取海信电视的root许可一键单击海信Smart TV的root卸载内置软件...
  17. Python 使用OpenCV计算机视觉(一篇文章从零毕业)【附带OCR文字识别项目、停车场车位智能识别项目】
  18. JVM 参数学习--实际参数设置
  19. mysql 从a到z 查询_mysql 查询数据时按照A-Z顺序排序返回结果集
  20. Java 中代码优化的 30 个小技巧(下)

热门文章

  1. 同是嵌入式工程师,为什么有人月薪8千,有人年薪50万?
  2. TOGAF—架构原则
  3. PYTHON---利息计算
  4. 【6.15日报】Web后端类与方法设计(二)——开发日报(二)
  5. 豪情-关于生活工作学习之感悟-第一篇
  6. 028 二次型标准化 方法一配方法
  7. OFBIz gradle构建与运行踩坑
  8. 大数据实训第八天总结
  9. 一名普通测试人员的年总结报告
  10. (附源码)php+mysql+基于django的图书商城管理系统 毕业设计110938