贪心1--排队打水问题
贪心1--排队打水问题
一、心得
二、题目及分析
题目意思:有n个人在一个水龙头前排队接水,假如每个人接水的时间为Ti,请编程找出这n个人排队的一种顺序,使得n个人的平均等待时间最小。
分析:看题目意思,要使每个人平均等待时间最小,当然是接水时间小的排在前面了,因此解法如下。
1、读入n个人接水时间。
2、对等待时间A数组进行排序,序号数组B同时进行排序。这里数据n为20000,因此,必须用快排才行,同时要注意的是,排序的时候要注意等待时间是一样的时候,序号前的要排在前面,所以要用到双关健排序。
3、对每个接水时间T进行累加S即S:=s+a[i],就是下一个人的等待时间了。对每个等时间S进行累加ZS,ZS就总等待时间了。
三、代码及结果
代码中的n为100
1 #include <iostream> 2 #include <cstring> 3 #include <algorithm> 4 using namespace std; 5 int main(){ 6 int n,r; 7 cin>>n>>r; 8 int a[100]; 9 for(int i=1;i<=n;i++){ 10 cin>>a[i]; 11 } 12 sort(a+1,a+n+1); 13 14 //水龙头 15 int tap[100]; 16 memset(tap,0,sizeof(tap)); 17 int j=1; 18 int sum=0; 19 for(int i=1;i<=n;i++){ 20 if(j==r+1) j=1; 21 tap[j]+=a[i]; 22 sum+=tap[j]; 23 j++; 24 } 25 cout<<sum<<endl; 26 return 0; 27 }
转载于:https://www.cnblogs.com/Renyi-Fan/p/7130168.html
贪心1--排队打水问题相关推荐
- 贪心:排队打水—排序不等式
题目: AcWing 913. 排队打水 有 n 个人排队到 1 个水龙头处打水,第 i 个人装满水桶所需的时间是 ti,请问如何安排他们的打水顺序才能使所有人的等待时间之和最小? 输入格式 第一行包 ...
- [排序不等式] 排队打水(排序不等式+贪心)
文章目录 0. 前言 1. 排序不等式+贪心 0. 前言 经典的排序不等式问题,也是一个简单的小学数奥问题. 1. 排序不等式+贪心 913. 排队打水 贪心思路: 让最墨迹的人最后打水,即从小到大排 ...
- 17行代码AC_51Nod - 2133 排队接水(贪心)
励志用少的代码做高效表达 贪心算法模板题 贪心算法简单来讲即自顶向下,求解出每个子最优解,且每个子问题不会对下一个问题产生影响 题意:n个人排队接水,问如何排序才能使总等待时间最短,(正在接水的人和没 ...
- P1223 排队接水(贪心算法)
题目描述 有 nn 个人在一个水龙头前排队接水,假如每个人接水的时间为 T_iTi,请编程找出这 nn 个人排队的一种顺序,使得 nn 个人的平均等待时间最小. 输入格式 第一行为一个整数 nn. ...
- 每日四题打卡-4.15:耍杂技的牛/贪心绝对值不等式-货仓选址/贪心排序不等式-排队打水/huffman哈夫曼树-合并果子
耍杂技的牛 具体:https://blog.csdn.net/qq_27262727/article/details/105515507 农民约翰的N头奶牛(编号为1..N)计划逃跑并加入马戏团,为此 ...
- 题快速公交 |小希的新工作 |岁月留痕 |排队喝水 |阿迪看医生 |松雅的花园 |拜访朋友 |猴导师 |贪心的阿迪 |飞机起飞时间安排 |松雅的旅馆 |小女孩和楼梯|小希与火车|基于神经网络的垃圾分类
写在前面:本题解旨在帮助进行作业参考,为学习升华所用.登高自卑,戒骄戒躁. 第一题:快速公交BRT 思路分析:本题考察数组基本应用,强模拟的题目. #include<iostream> u ...
- 排队接水(贪心算法)
题目描述 有 nn 个人在一个水龙头前排队接水,假如每个人接水的时间为 T_iTi,请编程找出这 nn 个人排队的一种顺序,使得 nn 个人的平均等待时间最小. 输入格式 第一行为一个整数 nn. ...
- 贪心:Huffman树(合并果子)、排序不等式(排队打水)
Huffman树 AcWing 148. 合并果子 在一个果园里,达达已经将所有的果子打了下来,而且按果子的不同种类分成了不同的堆. 达达决定把所有的果子合成一堆. 每一次合并,达达可以把两堆果子合并 ...
- 贪心——排序不等式——排队打水
排队打水 总共n人 T=t1*(n-1)+t2*(n-2)+--+tn 按从小到大的顺序排序,等待时间最小 #include <iostream> #include <algorit ...
最新文章
- 数据结构|-常见数据结构整理
- 在用安全框架前,我想先让你手撸一个登陆认证
- 综述 | 基于深度学习的目标检测算法
- java实现两个整数相除保留一位小数
- python正则表达式快速入门_Python学习笔记——正则表达式入门
- oracle 创建用户表空间及赋权
- ShadeGraph教程之节点详解8:UV Nodes
- 从 RequireJs 源码剖析脚本加载原理
- 美萍网管系列软件漏洞完全剖析
- 格雷码和二进制相互转换
- 如何擦除Altera FPGA的配置器件EPCS中的内容
- html微信分享没有图片不显示,微信分享网页链接缩略图不显示解决方法
- 解决VirtualBox配置静态ip和连外网的问题
- cc.Layout代码设置裁剪
- SCAR:Scalable Consensus Algorithm 灵活共识算法
- 机器学习小组知识点36:FCM聚类
- 使用python计算三角形面积
- 2023最新SSM计算机毕业设计选题大全(附源码+LW)之java面向新手投资者的虚拟股票交易系统h1o29
- 2022年股权转让怎么计算个人所得税
- iHerb中国这个app怎么样?iHerb中国邮政EMS与顺丰速运区别点在哪里?
热门文章
- Error和Exception有什么区别?(还在总结)
- Shell脚本中的函数、数组
- AD中批量增加带密码用户
- springsession 实现session 共享
- nginx1.9基于端口的四层负载均衡实践,基于端口的转的负载均衡
- 恢复联想键盘F1-F12标准模式
- linux常用工具及命令
- U盘快速​安装Ubuntu系统
- 在gem5的full system下运行 x86编译的测试程序 running gem5 on ubuntu in full system mode in x86...
- Deep learning:十九(RBM简单理解)