贪心—排序不等式——acwing

题目:排队打水

913. 排队打水 - AcWing题库

分析

题意,所有人等待时间之和最小。

当第一个人打水,后面所有人都在等待。

贪心:要让所有人等待时间之和最小,每次都得取最小。

三种存储方式均可以,目的使每次都能取最小就好:

  • 1.vector数组,sort排序
  • 2.multiset 自动排序
  • 3.priority_queue<int,vector<int>,greater<int>> 小根堆

代码

cpp 复制代码
#include<bits/stdc++.h>
using namespace std;

multiset<int> s;

int main() {
    int n;
    cin >> n;
    for(int i = 0; i < n; i ++) {
        int x; cin >> x;
        s.insert(x);
    }
    
    long long res = 0;
    for(int i = 1; i < n; i ++) {
        set<int>::iterator it = s.begin();
        res += (*it)*(n-i);
        s.erase(s.begin());
    }
    
    cout << res << endl;
    return 0;
}
相关推荐
t198751284 分钟前
基于Chirp分解和多相快速算法的离散分数傅里叶变换(DFRFT)MATLAB实现
开发语言·算法·matlab
愚者游世23 分钟前
力扣解决二进制 | 题型常用知识点梳理
c++·程序人生·算法·leetcode·职场和发展
阿星AI工作室40 分钟前
宝藏skills!90个顶尖博客信源自动抓,AI每天帮我筛出20篇精华!
人工智能·算法
Ulyanov1 小时前
基于Python的单脉冲雷达导引头回波生成技术
python·算法·仿真·单脉冲雷达、
ersaijun1 小时前
机器人动力学库Pinocchio、RBDL 和 KDL区别
算法·机器人·控制·开源库
sali-tec1 小时前
C# 基于OpenCv的视觉工作流-章25-ORB特征点
图像处理·人工智能·opencv·算法·计算机视觉
jghhh012 小时前
LT喷泉码编解码的MATLAB实现
数据库·算法·matlab
被遗忘在角落的死小孩2 小时前
抗量子 Winternitz One Time Signature(OTS) 算法学习
学习·算法·哈希算法
浅念-2 小时前
C++ :类和对象(4)
c语言·开发语言·c++·经验分享·笔记·学习·算法
YunchengLi2 小时前
【移动机器人运动规划】5 基于优化的轨迹规划 Part2
算法·机器人