P1223 排队接水

题目描述

有n个人在一个水龙头前排队接水,假如每个人接水的时间为Ti,请编程找出这n个人排队的一种顺序,使得n个人的平均等待时间最小。

输入输出格式

输入格式:

输入文件共两行,第一行为n;第二行分别表示第1个人到第n个人每人的接水时间T1,T2,…,Tn,每个数据之间有1个空格。

输出格式:

输出文件有两行,第一行为一种排队顺序,即1到n的一种排列;第二行为这种排列方案下的平均等待时间(输出结果精确到小数点后两位)。

输入输出样例

输入样例#1: 复制

10
56 12 1 99 1000 234 33 55 99 812

输出样例#1: 复制

3 2 7 8 1 4 9 6 10 5
291.90

说明

n<=1000

ti<=1e6,不保证ti不重复

当ti重复时,按照输入顺序即可(sort是可以的)

分析:

思考一下可以发现应该按升序输出。

可以通过比较相邻两项交换前后的总开销变化来证明。

序列1:a1,a2,a3,a4....an

序列2:a1,a3,a2,a4...an

a1,a4...an的等待时间都不变。a2的等待时间多了a3,a3的等待时间少了a2,总时间变化为a3-a2.

当a3>a2时,交换后总时间变多了,因此不应该交换,故应该将序列升序排列。

转载于:https://www.cnblogs.com/loganlzj/p/10348588.html

有关排序的贪心策略的一种证明思想相关推荐

  1. 贪心策略(一)(选择排序、分割平衡串、买卖股票、跳跃游戏)

    贪心算法(又称贪婪算法)是指,在对问题求解时,总是做出在当前看来是最好的选择.也就是说,不从整体最优上加以考虑,他所做出的是在某种意义上的局部最优解. 贪心选择是指所求问题的整体最优解可以通过一系列局 ...

  2. 贪心策略--16经典问题总结!

    贪心算法 编号 题目 1货郎担 问题: 货郎担问题:假定有五个城市,已知费用矩阵如下,分别从五个城市出发,然后选取一条费用最小的线路,验证这种算法不能得到最优解. 贪心选择:每次选择之前没有走过的费用 ...

  3. 区间覆盖全部类型及部分精选习题汇总详解(贪心策略)

    内容如下: 1)区间完全覆盖问题 问题描述:给定一个长度为m的区间,再给出n条线段的起点和终点(注意这里是闭区间),求最少使用多少条线段可以将整个区间完全覆盖 样例: 区间长度8,可选的覆盖线段[2, ...

  4. 贪心策略:请你设计最优的安排会议日程表,以使得举行的会议数最多

    贪心策略:请你设计最优的安排会议日程表,以使得举行的会议数最多 提示:从本文开始,咱们来说贪心策略系列文章!! 贪心策略在互联网大厂的招聘笔试和面试中的地位!!!在笔试中考贪心,而面试不考贪心. (1 ...

  5. 算法提高:贪心策略的11个经典题目

    目录 字典序最小 零钱问题 股票问题(最多持有一支,可以买卖无限次) 小船过河 任务调度器 摆动序列 最小区间 跳跃游戏 II 分糖果 通配符匹配 拼接最大数 字典序最小 题目 给定一个由字符串组成的 ...

  6. 【贪心策略】背包问题——阿里巴巴与四十大盗

    一.问题 假设山洞中有N种宝物,每种宝物有一定的重量w和相应的价值v,大盗的运载能力有限,只能随身携带重量M的宝物,一种宝物只能拿一样,宝物可以分割.那么怎么才能一次带走宝物的价值最大呢? 二.分析 ...

  7. Codeforces Round #700 (Div. 2) D2 Painting the Array II(最通俗易懂的贪心策略讲解)看不懂来打我 ~

    整理的算法模板合集: ACM模板 点我看算法全家桶系列!!! 实际上是一个全新的精炼模板整合计划 整场比赛的A ~ E 6题全,全部题目超高质量题解链接: Codeforces Round #700 ...

  8. 贪心策略构筑“奶牛铁塔”(洛谷P2676题题解,Java语言描述)

    题目要求 P2676题目链接 分析 哈哈哈,好一个"超级书架"+"奶牛铁塔",哈哈哈-- 这题就是用贪心策略,需要排一个序,然后每次选最高大强壮的奶牛加入&qu ...

  9. 硬币支付问题(贪心策略)

    一.什么是贪心策略呢? 贪心算法是一种递推算法,用局部最优解来推导全局最优解,是对遍历解空间的一种优化 当问题具有最优子结构时,可用动态规划,而贪心是动态规划的一种特例 特点: 只看眼前 遵循某种规则 ...

最新文章

  1. TensorRT-安装-使用
  2. argument在python里什么意思_在Python中星号*是什么意思?
  3. Hadoop搭建完全分布式
  4. cad 快捷键命令大全
  5. 聊一聊Python的变量类型判断type和isinstance
  6. gcc malloc/free的质疑
  7. 建议手机电池85%以下去换电池
  8. vba_1《考勤表》
  9. C# ASP.NET WebApi入门
  10. ubuntu固定内网ip_Ubuntu 设置固定ip地址
  11. 网络攻防技术——嗅探与欺骗
  12. 【20220926】html综合案例世纪佳缘
  13. 苹果笔记本装win7_m2 ngff无线网卡接口的笔记本电脑装苹果网卡
  14. 智慧家庭信息安全白皮书发布,推动智慧家庭叫好又叫座
  15. 编程该学什么以及vc++一些心得
  16. 用blender和MakeHuman生成人体动画
  17. 服务器 消息 22029,解决SQL Server数据库维护计划失败的问题
  18. 《C++0x漫谈》系列之:Concept, Concept!
  19. spring框架env查看星号密码
  20. Android通过蓝牙获取通讯录

热门文章

  1. java 反射 静态成员_java 利用反射获取内部类静态成员变量的值
  2. linux日志打印规则,Linux 打印简单日志(一)
  3. kafka session.timeout.ms 是指消费一条数据的时间?_干货 | Kafka 内核知识梳理,附思维导图...
  4. python assert_Python中何时使用断言 assert
  5. c++中的向量_C ++中的向量
  6. dir函数python_Python dir()函数
  7. python float_Python float()
  8. 路科验证示例_角度形式验证示例
  9. Java String子序列
  10. Confluence wiki上传文件时报“不能上传文件至Confluence中,服务器可能已失效”