当前位置: 首页 > news >正文

排队接水--贪心

排队接水

题目描述

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

输入格式

第一行为一个整数 n n n

第二行 n n n 个整数,第 i i i 个整数 T i T_i Ti 表示第 i i i 个人的等待时间 T i T_i Ti

输出格式

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

样例 #1

样例输入 #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 , t i ≤ 1 0 6 n \leq 1000,t_i \leq 10^6 n1000,ti106,不保证 t i t_i ti 不重复。

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

思路

要让n个人平均等待时间最小,就要让打水快的在前面。(打水快的人打完就走了,后面的人就可以不用等那么久,但是如果把打水慢的人放在前面,后面的人要等好久。),这里用的结构体来记录打水人的编号。所以总的要等的时间就是前面的人的打水时间。故对于每个前面打水的人,后面的人都要等他,所以就有sum+=water[i].tim*(n-i),最后,除以n即可。

#include<iostream>
#include<algorithm>
#include<iomanip>//保留小数函数头文件
using namespace std;
const int N=1e3+10;
struct node
{int num;int tim;
}water[N];
bool cmp(node a,node b)
{if(a.tim!=b.tim)return a.tim<b.tim;return a.num<b.num;
}
int main()
{int n;cin>>n;for(int i=1;i<=n;i++){water[i].num=i;cin>>water[i].tim;}sort(water+1,water+1+n,cmp);double sum=0;for(int i=1;i<=n;i++){sum+=water[i].tim*(n-i);//总时间cout<<water[i].num<<" ";}cout<<endl<<fixed<<setprecision(2)<<sum/n<<endl;return 0;
}

相关文章:

排队接水--贪心

排队接水 题目描述 有 n n n 个人在一个水龙头前排队接水&#xff0c;假如每个人接水的时间为 T i T_i Ti​&#xff0c;请编程找出这 n n n 个人排队的一种顺序&#xff0c;使得 n n n 个人的平均等待时间最小。 输入格式 第一行为一个整数 n n n。 第二行 n n n 个…...

数字温度传感器-DS18B20

文章目录 一、DS18B20器件图二、DS18B20特点三、DS18B20内部结构内部构成 四、工作时序1.初始化时序2.ReadOneChar2.WriteOneChar 一、DS18B20器件图 DS18B20的管脚排列&#xff1a; GND为电源地&#xff1b;DQ为数字信号输入&#xff0f;输出端&#xff1b;VDD为外接供电电源…...

【算法】【算法杂谈】从M个数中等概率的选出n个数,保证每一个数的选中概率都是n/m(蓄水池算法)

目录 前言问题介绍解决方案代码编写java语言版本c语言版本c语言版本 思考感悟写在最后 前言 当前所有算法都使用测试用例运行过&#xff0c;但是不保证100%的测试用例&#xff0c;如果存在问题务必联系批评指正~ 在此感谢左大神让我对算法有了新的感悟认识&#xff01; 问题介…...

vue3+ts+vite自适应项目——路由、layout布局

系列文章目录 第一章&#xff1a;搭建项目 目录 系列文章目录 前言 一、vue-router 1.安装vue-router 2.引入 2.1 新建页面 2.2 公共样式引入 2.3 layout 布局 2.4路由配置 总结 前言 上一章我们搭建了项目&#xff0c;这一张主要讲路由和layout布局&#xff0c;和…...

数据库之约束、索引和事务

一、约束 约束,顾名思义就是数据库对数据库中的数据所给出的一组检验规则.负责判断元素是否符合数据库要求.其目的就是为了提高效率以及准确性. 1.not null - > 数据元素非空 表示如果插入数据,则当前数据不能为空. //创建一张学生表,其班级id和年级id不为空 create …...

centos --libreoffice使用

您可以按照以下步骤在CentOS上安装LibreOffice&#xff1a; 打开终端并使用root用户登录。 运行以下命令更新系统软件包&#xff1a; yum update安装LibreOffice依赖项&#xff1a; yum install -y libreoffice-headless libreoffice-writer libreoffice-calc libreoffice-…...

Steam-V Rising 私人服务器架设教程

一、安装前的准备 一台服务器 拥有公网IP并且做好了端口映射 二、使用SteamCMD安装服务器 1.下载SteamCMD SteamCMD是Steam专用的命令行式客户端程序&#xff0c;所有的安装方式可以参照&#xff1a;https://developer.valvesoftware.com/wiki/SteamCMD 或者在其他站点自行…...

SpringBoot+Vue3实现登录验证码功能

系列文章目录 Redis缓存穿透、击穿、雪崩问题及解决方法Spring Cache的使用–快速上手篇分页查询–Java项目实战篇全局异常处理–Java实战项目篇 Java实现发送邮件&#xff08;定时自动发送邮件&#xff09;_java邮件通知_心态还需努力呀的博客-CSDN博客 该系列文章持续更新…...

spring2:创建和使用

目录 1.创建Spring项目 1.1创建Maven类 1.2添加Spring支持框架 1.3添加启动类 2.存储Bean对象 2.0 spring项目中添加配置文件(第一次) 2.1创建Bean 2.2把Bean注册到容器中 3.获取并使用Bean对象 3.1创建上下文 3.2获取指定Bean对象 getBean()方法 --> 获取什么…...

前端如何处理后端一次性传来的10w条数据?

写在前面 如果你在面试中被问到这个问题&#xff0c;你可以用下面的内容回答这个问题&#xff0c;如果你在工作中遇到这个问题&#xff0c;你应该先揍那个写 API 的人。 创建服务器 为了方便后续测试&#xff0c;我们可以使用node创建一个简单的服务器。 const http requir…...

Codeforces Round 867 (Div. 3)(A-G2)

文章目录 A. TubeTube Feed1、题目2、分析3、代码&#xff0c; B. Karina and Array1、题目2、分析3、代码 C. Bun Lover1、问题2、分析&#xff08;1&#xff09;观察样例法&#xff08;2&#xff09;正解推导 3、代码 D. Super-Permutation1、问题2、分析&#xff08;1&#…...

蓝奥声核心技术分享——一种无线低功耗配置技术

1.技术背景 无线低功耗配置技术指基于对目标场景状态变化的协同感知而获得触发响应并进行智能决策&#xff0c;属于蓝奥声核心技术--边缘协同感知(EICS&#xff09;技术的关键支撑性技术之一。该项技术涉及物联网边缘域的无线通信技术领域&#xff0c;具体主要涉及网络服务节点…...

kafka集群模拟单节点故障

这里通过kafka manage来展示节点宕机效果 现在三台主机节点均正常 topic正常识别到三个broker leader也均匀分配到了三个broker上 现在把节点id为0的主机模拟宕机 可以通过以上两张图片看到每个topic现在只识别到了两个broker节点,broker id为0的节点已经被剔除掉了 isr列…...

笔记:vue-cli-service

vue-cli-service serve 这个是什么意思&#xff1f; vue-cli-service serve 是一个 Vue.js CLI 命令&#xff0c;用于在本地开发环境下运行一个开发服务器&#xff0c;以便你可以在浏览器中查看和测试你的 Vue.js 应用程序。它在开发期间提供了自动重载、热模块替换和其它实用…...

Amazon S3 对象存储Java API操作记录(Minio与S3 SDK两种实现)

缘起 今年(2023年) 2月的时候做了个适配Amazon S3对象存储接口的需求&#xff0c;由于4月份自学考试临近&#xff0c;一直在备考就拖着没总结记录下&#xff0c;开发联调过程中也出现过一些奇葩的问题&#xff0c;最近人刚从考试缓过来顺手记录一下。 S3对象存储的基本概念 …...

ChatGPT技术原理 第六章:对话生成技术

目录 6.1 任务定义 6.2 基于检索的方法 6.3 基于生成的方法 6.4 评价指标 6.1 任务定义 对话生成技术是指使用自然语言处理技术生成与人类语言相似的对话。在对话生成任务中&#xff0c;模型需要理解输入的语境、用户的意图和上下文信息&#xff0c;然后生成能够回答用户问题…...

【C++ 八】写文件、读文件

写文件、读文件 文章目录 写文件、读文件前言1 文本文件1.1 写文件1.2 读文件 2 二进制文件2.1 写文件2.2 读文件 前言 本文包含文本文件写文件、文本文件读文件、二进制写文件、二进制读文件。 程序运行时产生的数据都属于临时数据&#xff0c;程序一旦运行结束都会被释放 通…...

【学习笔记】CF613E Puzzle Lover

这题本质上还是数据结构。 首先看到这个 2 n 2\times n 2n的网格图就很容易想到分治。我们还是考虑把要统计的东西变得可视化&#xff0c;一条路径要么穿过中线一次&#xff0c;那么我们可以将两边的串拼起来得到答案&#xff1b;要么穿过中线两次&#xff0c;考虑其中一边的…...

软考报名资格审核要多久?证明材料要哪些?

软考报名资格审核要多久&#xff1f; 一般来说&#xff0c;软考资格审核时间不超过1个工作日。当然&#xff0c;每个地区的具体情况都不一样。有些地区估计需要1-3个工作日。总之&#xff0c;为了顺利成功报名&#xff0c;大家应尽快报名&#xff0c;不要拖到最后一天。 软考…...

2023-04-27 polardbx-LSM-tree的Parallel Recovery性能优化

背景 数据库的Crash Recovery时长关系到数据库的可用性SLA、故障止损时间、升级效率等多个方面。本文描述了针对X-Engine数据库存储引擎的一种Crash Recovery优化手段,在典型场景下可以显著缩短数据库实例的故障恢复时间,提升用户使用感受。 当前面临的问题 X-Engine是阿里…...

RAG知识库全流程实操:从分块→检索→生成,逐步拆解

搭了个 RAG&#xff0c;文档灌进去&#xff0c;问题丢过来&#xff0c;回答出来了——看起来能用了。 但问它"RAG 四代架构是什么"&#xff0c;它编了个"第一代 RTG"——这个术语根本不存在。问它"嵌入模型中文怎么选"&#xff0c;它说"建…...

【MATLAB源码-第439期】基于MATLAB的APSK与QAM高阶调制在Saleh非线性功放下BER和EVM性能对比

操作环境&#xff1a;MATLAB 2024a1、算法描述摘要 高阶数字调制技术是现代无线通信和卫星通信系统提高频谱利用率的重要方法。QAM 调制通过同相分量和正交分量的幅度组合形成二维星座&#xff0c;在较高信噪比条件下能够获得较高的信息承载能力。APSK 调制则采用多环幅相结构&…...

Vibe Coding 工具选型决策树:5 类项目场景对应 7 种组合配置方案

1. 项目概述:为什么“选对组合”比“选对单个工具”更重要 大多数人第一次听说 vibe coding,是在看到某位工程师用 Cursor 写完一个 Vue3 表单组件只花了 90 秒,或者用 Claude Code 在 VS Code 里补全了整套 Express 路由逻辑后脱口而出的那句“这哪是写代码,这是调 API”…...

RTOS任务通知:轻量级通信机制的原理、应用与性能优化

1. 项目概述&#xff1a;为什么RTOS应用需要“任务通知”在嵌入式实时操作系统&#xff08;RTOS&#xff09;的世界里&#xff0c;任务间的通信与同步是决定系统效率、响应速度和稳定性的基石。传统的通信机制&#xff0c;如信号量、消息队列、事件标志组&#xff0c;我们早已驾…...

FanControl完全指南:5步打造Windows风扇智能控制系统

FanControl完全指南&#xff1a;5步打造Windows风扇智能控制系统 【免费下载链接】FanControl.Releases This is the release repository for Fan Control, a highly customizable fan controlling software for Windows. 项目地址: https://gitcode.com/GitHub_Trending/fa/…...

Spring AI 快速对接 AI 大模型(开箱即用)

一、项目准备&#xff08;最简依赖&#xff09;1. 创建 Spring Boot 项目推荐版本&#xff1a;Spring Boot 3.2.x JDK 版本&#xff1a;172. pom.xml 核心依赖<?xml version"1.0" encoding"UTF-8"?> <project xmlns"http://maven.apache.o…...

PX4开环控制避坑指南:为什么你的仿真无人机转圈总失败?从`setpoint_raw`话题到模式切换的深度解析

PX4开环控制避坑指南&#xff1a;为什么你的仿真无人机转圈总失败&#xff1f;从setpoint_raw话题到模式切换的深度解析 当你在Gazebo中启动PX4仿真环境&#xff0c;满怀期待地运行自己编写的开环控制代码&#xff0c;却发现无人机要么拒绝转圈&#xff0c;要么突然坠毁&#…...

伯远生物:告别 “靠天碰运气”,育种进入标记时代

在现代育种科学的演进历程中&#xff0c;从依赖表型选择的传统经验育种&#xff0c;到基于基因型精准筛选的分子育种&#xff0c;技术变革正深刻地重塑着作物改良的路径与效率。分子标记辅助育种技术作为这一变革中的核心技术之一&#xff0c;正以其精准、高效的特点&#xff0…...

一线大厂AI开发笔记本清单(万元内)

人机协作&#xff0c;AI模型&#xff1a;Deepseek仅供参考一线大厂AI开发笔记本清单&#xff08;万元内&#xff09;机型CPUGPU&#xff08;显存&#xff09;内存SSD散热Linux兼容性风险等级性能星级参考价华硕 天选7 Pro 酷睿版Ultra 9 290HX Plus (24核)RTX 5070 (8GB)32GB1T…...

初次使用Taotoken从注册获取Key到完成第一次API调用的全流程指引

&#x1f680; 告别海外账号与网络限制&#xff01;稳定直连全球优质大模型&#xff0c;限时半价接入中。 &#x1f449; 点击领取海量免费额度 初次使用Taotoken从注册获取Key到完成第一次API调用的全流程指引 本文旨在为初次接触Taotoken平台的开发者提供一份清晰的入门指南…...