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

P1223 排队接水(贪心)

题目描述

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

输入格式

第一行为一个整数 𝑛。

第二行 𝑛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

说明/提示e

1≤𝑛≤1000,1≤𝑡𝑖≤10e6,不保证 𝑡𝑖​ 不重复。

#include<iostream>
#include<cstdio>
#include<algorithm>
using namespace std;struct water{       //这边用结构体来使程序更加的简洁
int time=0,number=0;}p[1001];bool cmp(water a,water b){   //如果时间相同把小的序列放前面,方便后面算平均值
if(a.time!=b.time)   return a.time<b.time;return a.number<b.number;
}
typedef long long LL;    //加不加都无所谓
int main(){int n;LL sum=0;double average=0;
cin>>n;
for(int i=1;i<=n;i++){cin>>p[i].time;p[i].number=i;
}
sort(p+1,p+n+1,cmp);
for(int i=1;i<=n;i++){cout<<p[i].number<<" ";
sum+=i*p[n-i].time;    //这边人打完水就走,然后等待时间是每个人的
}
printf("\n");
average=1.0*sum/n;  
printf("%.2lf",average);
return 0;
}

后面会继续更新二分法,分治,递归,前缀和,暴力枚举还有模拟内容敬请期待

12.8

相关文章:

P1223 排队接水(贪心)

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

关于springBoot+vue项目中配置SSL证书问题

前端可以通过https进行访问 1.前端在访问后端接口时&#xff0c;使用https进行访问&#xff0c;在request.js配置文件中&#xff0c;这个文件是配置axios的基本请求的&#xff0c;在基础请求地址中改为https方式 2.需要在Linux中的nginx中配置ssl证书&#xff0c;具体请参考&…...

GUI的最终选择:Tkinter

Tkinter是Python默认的GUI库&#xff0c;因此使用时直接导入即可&#xff1a;import tkinter 17.1 Tkinter之初体验 代码分析&#xff1a; tkinter.mainloop()通常是程序的最后一行代码&#xff0c;执行后程序进入主事件循环。 17.2 进阶版本 将代码封装成类&#xff1a; 运…...

Photohop关于数位板没有压力感,PS画笔的钢笔压力总是显示感叹号的问题解放方法

&#xff08;实际我只用到红色字2步解决了问题&#xff0c;但为了兼顾更多朋友&#xff0c;还是把其他步骤详细完善&#xff09; 一&#xff0c;先确定数位板正常链接电脑&#xff0c;并安装好驱动&#xff0c;并在驱动测试到压力 二&#xff0c;解决PS前感叹号问题 &#xf…...

rust websocket Echo server高性能服务器开发

最近在学习websocket时,一直没有发现好的websocket server工具来调试,于是就自己做了一个websocket server用来学习和调试。因为rust性能遥遥领先,所以就采用了rust来搭建服务器。废话不多说直接上代码main.rs: use tokio::net::TcpListener; use tokio_tungstenite::tung…...

19、网络编程:

19、网络编程&#xff1a; 网络的相关概念&#xff1a; 网络通讯&#xff1a; 概念&#xff1a;两台设备之间通过网络实现数据传输&#xff1b;网络通讯&#xff1a;将数据通过网络从一台设备传输到另一台设备&#xff1b;java.net包下提供了一系列的类或接口&#xff0c;供…...

[代码随想录11]栈和队列的应用,逆波兰表达式求值 、滑动窗口最大值、前 K 个高频元素

前言 这几个题目都是栈和队列的高频面试题目&#xff0c;主要是考察思路和coding能力&#xff0c;在前面几道题目的基础上进行延伸的。同时还有优先级队列和双端队列的用法 题目链接 150. 逆波兰表达式求值 - 力扣&#xff08;LeetCode&#xff09; 239. 滑动窗口最大值 - 力…...

认证插件介绍

本文档是针对 UOS 登录器插件给出开发指南&#xff0c;目的是为了让开发人员了解如何在 UOS 登录器上增加一种自定义认证方式&#xff0c;对插件接口做了详细说明以及实战练习。 文章目录 一、认证插件可以做什么&#xff1f;二、认证流程三、术语说明四、安全性五、可靠性六、…...

ASP.NET Core8.0学习笔记(二十四)——EF Core级联插入与删除

一、EF Core导航关系操作——级联插入 1.级联插入&#xff1a;在含有导航属性的实体&#xff08;主体实体&#xff09;中可以对实体进行级联插入。即在创建主体实体时直接把依赖实体进行赋值&#xff0c;此时只需要执行一次插入操作即可将主体实体与依赖实体同时入库。同时&am…...

Docker打包SpringBoot项目

一、项目打成jar包 在进行docker打包之前&#xff0c;先确定一下&#xff0c;项目能够正常的打成JAR包&#xff0c;并且启动之后能够正常的访问。这一步看似是可有可无&#xff0c;但是能避免后期的一些无厘头问题。 二、Dockerfile 项目打包成功之后&#xff0c;需要编写Doc…...

【Linux】WSL:Win运行Linux

WSL2&#xff08;Windows Subsystem for Linux 2&#xff09; 是 Microsoft 开发的技术&#xff0c;可在 Windows 系统上运行完整的 Linux 发行版环境。以下是详细的配置教程。 安装与配置 启用 WSL 功能 打开“开始”菜单&#xff0c;搜索 PowerShell&#xff0c;以 管理员身…...

js循环导出多个word表格文档

文章目录 js循环导出多个word表格文档一、文档模板编辑二、安装依赖三、创建导出工具类exportWord.js四、调用五、效果图js循环导出多个word表格文档 结果案例: 一、文档模板编辑 二、安装依赖 // 实现word下载的主要依赖 npm install docxtemplater pizzip --save// 文件操…...

Spring Boot 日志 配置 SLF4J 和 Logback

前言 在开发 Java 应用时&#xff0c;日志记录是不可或缺的一部分。日志可以记录应用的运行状态、错误信息和调试信息&#xff0c;帮助开发者快速定位和解决问题。Spring Boot 项目默认集成了 SLF4J 和 Logback&#xff0c;使得日志配置变得简单而灵活。本文将详细介绍如何在 …...

企业级包管理器:专栏概述 (1)

在当今的前端开发领域&#xff0c;包管理器已经成为了每一位开发者不可或缺的工具。它们就像一个个神奇的工具箱&#xff0c;里面装满了各种各样的工具&#xff08;即软件包&#xff09;&#xff0c;帮助我们快速搭建项目、实现功能&#xff0c;极大地提高了开发效率。接下来&a…...

【动手学电机驱动】STM32-MBD(1)安装 STM32 硬件支持包

STM32-MBD&#xff08;1&#xff09;安装 STM32 硬件支持包 【动手学电机驱动】STM32-MBD&#xff08;1&#xff09;安装 STM32 硬件支持包 1. 必须的软硬件条件2. 嵌入式硬件支持包2.1 Embedded Coder2.2 嵌入式硬件支持包2.3 Embedded Coder Support Package for STMicroelec…...

书后习题答案:《Python程序设计基础(第2版)》,电子工业出版社,2020.01

【持续更新】 第3章 from math import *x1 float(input("请输入x1: ")) # print(x1) x2 float(input("请输入x2: ")) y1 float(input("请输入y1: ")) y2 float(input("请输入y2: "))dis sqrt(pow(x1 - x2, 2) pow(y1 - y2, 2))…...

Qt之第三方库‌QXlsx使用(三)

Qt开发 系列文章 - QXlsx&#xff08;三&#xff09; 目录 前言 一、Qt开源库 二、QXlsx 1.QXlsx介绍 2.QXlsx下载 3.QXlsx移植 4.修改项目文件.pro 三、使用技巧 1.添加头文件 2.写入数据 3.读出数据 总结 前言 Qt第三方控件库是指非Qt官方提供的、用于扩展Qt应用…...

Python通过global实现多文件共享全局参数,方法

Python通过global实现多文件共享全局参数 global关键字,全局变量 基础用法 这种用法&#xff0c;不能在其他的py文件中使用&#xff0c; x 6 def func():global x #定义外部的xx 10 func() print (x) #输出10共享参数 新建glo.py文件&#xff08;全局变量文件&#xff09;…...

DevOps工程技术价值流:项目构建工具的选择与实践

在快速迭代的软件工程领域&#xff0c;项目构建工具扮演着举足轻重的角色。它们不仅自动化了构建、测试、打包和部署等关键环节&#xff0c;还显著提升了开发效率和质量。本文将深入探讨后端常用的Maven和Gradle&#xff0c;以及前端不可或缺的NPM&#xff0c;并重点对比Maven与…...

【数据库】复习

数据库期中复习——概念填空_在修改数据结构时,为了保证数据库的数据独立性-CSDN博客 选择题 关系数据理论-数据库习题_数据库关系理论考题-CSDN博客 关系、关系模式、关系模型区别和联系 关系&#xff1a;元组的集合&#xff0c;一张表 关系模式&#xff1a;关系的描述 R(…...

java_网络服务相关_gateway_nacos_feign区别联系

1. spring-cloud-starter-gateway 作用&#xff1a;作为微服务架构的网关&#xff0c;统一入口&#xff0c;处理所有外部请求。 核心能力&#xff1a; 路由转发&#xff08;基于路径、服务名等&#xff09;过滤器&#xff08;鉴权、限流、日志、Header 处理&#xff09;支持负…...

FFmpeg 低延迟同屏方案

引言 在实时互动需求激增的当下&#xff0c;无论是在线教育中的师生同屏演示、远程办公的屏幕共享协作&#xff0c;还是游戏直播的画面实时传输&#xff0c;低延迟同屏已成为保障用户体验的核心指标。FFmpeg 作为一款功能强大的多媒体框架&#xff0c;凭借其灵活的编解码、数据…...

Axios请求超时重发机制

Axios 超时重新请求实现方案 在 Axios 中实现超时重新请求可以通过以下几种方式&#xff1a; 1. 使用拦截器实现自动重试 import axios from axios;// 创建axios实例 const instance axios.create();// 设置超时时间 instance.defaults.timeout 5000;// 最大重试次数 cons…...

项目部署到Linux上时遇到的错误(Redis,MySQL,无法正确连接,地址占用问题)

Redis无法正确连接 在运行jar包时出现了这样的错误 查询得知问题核心在于Redis连接失败&#xff0c;具体原因是客户端发送了密码认证请求&#xff0c;但Redis服务器未设置密码 1.为Redis设置密码&#xff08;匹配客户端配置&#xff09; 步骤&#xff1a; 1&#xff09;.修…...

Device Mapper 机制

Device Mapper 机制详解 Device Mapper&#xff08;简称 DM&#xff09;是 Linux 内核中的一套通用块设备映射框架&#xff0c;为 LVM、加密磁盘、RAID 等提供底层支持。本文将详细介绍 Device Mapper 的原理、实现、内核配置、常用工具、操作测试流程&#xff0c;并配以详细的…...

ip子接口配置及删除

配置永久生效的子接口&#xff0c;2个IP 都可以登录你这一台服务器。重启不失效。 永久的 [应用] vi /etc/sysconfig/network-scripts/ifcfg-eth0修改文件内内容 TYPE"Ethernet" BOOTPROTO"none" NAME"eth0" DEVICE"eth0" ONBOOT&q…...

2025季度云服务器排行榜

在全球云服务器市场&#xff0c;各厂商的排名和地位并非一成不变&#xff0c;而是由其独特的优势、战略布局和市场适应性共同决定的。以下是根据2025年市场趋势&#xff0c;对主要云服务器厂商在排行榜中占据重要位置的原因和优势进行深度分析&#xff1a; 一、全球“三巨头”…...

视觉slam十四讲实践部分记录——ch2、ch3

ch2 一、使用g++编译.cpp为可执行文件并运行(P30) g++ helloSLAM.cpp ./a.out运行 二、使用cmake编译 mkdir build cd build cmake .. makeCMakeCache.txt 文件仍然指向旧的目录。这表明在源代码目录中可能还存在旧的 CMakeCache.txt 文件,或者在构建过程中仍然引用了旧的路…...

Netty从入门到进阶(二)

二、Netty入门 1. 概述 1.1 Netty是什么 Netty is an asynchronous event-driven network application framework for rapid development of maintainable high performance protocol servers & clients. Netty是一个异步的、基于事件驱动的网络应用框架&#xff0c;用于…...

【C++特殊工具与技术】优化内存分配(一):C++中的内存分配

目录 一、C 内存的基本概念​ 1.1 内存的物理与逻辑结构​ 1.2 C 程序的内存区域划分​ 二、栈内存分配​ 2.1 栈内存的特点​ 2.2 栈内存分配示例​ 三、堆内存分配​ 3.1 new和delete操作符​ 4.2 内存泄漏与悬空指针问题​ 4.3 new和delete的重载​ 四、智能指针…...