热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

蓝桥杯负载均衡对堆和优先队列的理解

大顶堆:每个结点的值都大于或等于其左右孩子结点的值priority_queuex1;小顶堆:每个结点的值都小于或等于其左右孩子结点的值pr

//大顶堆:每个结点的值都大于或等于其左右孩子结点的值
priority_queue x1;
//小顶堆:每个结点的值都小于或等于其左右孩子结点的值
priority_queue,greater> x2;//优先队列(priority queue)
//普通的队列是一种先进先出的数据结构,元素在队列尾追加,而从队列头删除。
//在优先队列中,元素被赋予优先级。当访问元素时,具有最高优先级的元素最先删除。
//优先队列具有最高级先出 (first in, largest out)的行为特征。通常采用堆数据结构来实现。

代码我只是加了对代码读后的理解

//
// Created by ToroLHZ on 2022/3/20.
//
#include
using namespace std;
typedef long long ll;//大顶堆:每个结点的值都大于或等于其左右孩子结点的值
priority_queue x1;
//小顶堆:每个结点的值都小于或等于其左右孩子结点的值
priority_queue,greater> x2;//优先队列(priority queue)
//普通的队列是一种先进先出的数据结构,元素在队列尾追加,而从队列头删除。
//在优先队列中,元素被赋予优先级。当访问元素时,具有最高优先级的元素最先删除。
//优先队列具有最高级先出 (first in, largest out)的行为特征。通常采用堆数据结构来实现。const ll N=200005;
ll n,m;typedef pair t;//x:任务结束时间&#xff0c;y任务所需算力priority_queue,greater> q[N];//小根堆ll w[N];ll a,b,c,d;int main() {ll i, j, k;cin>>n>>m;for(i&#61;0;i>w[i];for(i&#61;0;i>a>>b>>c>>d;//第b个计算机有任务//但是任务结束时间比a早while ( q[b].size()&&q[b].top().first<&#61;a ){//恢复算力w[b]&#43;&#61;q[b].top().second;q[b].pop();}//目前算力小于所需算力if(w[b]}
//作者&#xff1a;yxc
//链接&#xff1a;https://www.acwing.com/activity/content/code/content/1230687/
//来源&#xff1a;AcWing


推荐阅读
  • 本题要求在一组数中反复取出两个数相加,并将结果放回数组中,最终求出最小的总加法代价。这是一个经典的哈夫曼编码问题,利用贪心算法可以有效地解决。 ... [详细]
  • 本文深入探讨了UNIX/Linux系统中的进程间通信(IPC)机制,包括消息传递、同步和共享内存等。详细介绍了管道(Pipe)、有名管道(FIFO)、Posix和System V消息队列、互斥锁与条件变量、读写锁、信号量以及共享内存的使用方法和应用场景。 ... [详细]
  • 本文详细解析了2019年西安邀请赛中的一道树形动态规划题目——J题《And And And》。题目要求计算树中所有子路径异或值为0的集合数量,通过深入分析和算法优化,提供了高效的解决方案。 ... [详细]
  • 本文详细介绍了Java中实现异步调用的多种方式,包括线程创建、Future接口、CompletableFuture类以及Spring框架的@Async注解。通过代码示例和深入解析,帮助读者理解并掌握这些技术。 ... [详细]
  • 本文探讨了如何通过一系列技术手段提升Spring Boot项目的并发处理能力,解决生产环境中因慢请求导致的系统性能下降问题。 ... [详细]
  • 本文探讨了如何解决HAOI2007竞赛中的理想正方形问题。通过计算矩阵中每个N×N子矩阵的最大值和最小值,最终求得所有子矩阵中最大值与最小值差的最小值。 ... [详细]
  • BFS深搜hashtable来判断是横线还是竖线但是为啥还是90分啊呜呜!找不到原因#define_CRT_SECURE_NO_WARNINGS1#include ... [详细]
  • 本文介绍了一个项目中如何在Windows平台上实现多声道音频数据的采集,特别是针对DANTE音频接口的8路立体声音频通道。文章详细描述了使用Windows底层音频API进行音频采集的方法,并提供了一个具体的实现示例。 ... [详细]
  • 本文介绍了一道来自《紫书》的编程题目——UVa11212 编辑书稿。该问题通过迭代加深搜索(IDA*)算法解决,旨在找到将给定排列转换为升序排列所需的最少步骤。文章提供了详细的解题思路和代码实现。 ... [详细]
  • MainActivityimportandroid.app.Activity;importandroid.os.Bundle;importandroid.os.Handler;im ... [详细]
  • 深入解析Java多线程与并发库的应用:空中网实习生面试题详解
    本文详细探讨了Java多线程与并发库的高级应用,结合空中网在挑选实习生时的面试题目,深入分析了相关技术要点和实现细节。文章通过具体的代码示例展示了如何使用Semaphore和SynchronousQueue来管理线程同步和任务调度。 ... [详细]
  • 深入理解Java多线程并发处理:基础与实践
    本文探讨了Java中的多线程并发处理机制,从基本概念到实际应用,帮助读者全面理解并掌握多线程编程技巧。通过实例解析和理论阐述,确保初学者也能轻松入门。 ... [详细]
  • 当面临数据库清理任务时,若无删除或重建数据库的权限,可以通过编写SQL脚本来实现批量删除用户自定义的数据表和存储过程。本文将详细介绍如何构造这样的SQL脚本。 ... [详细]
  • MapReduce原理是怎么剖析的
    这期内容当中小编将会给大家带来有关MapReduce原理是怎么剖析的,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。1 ... [详细]
  • Canvas漫游:碰撞检测与动画模拟
    探索Canvas在Web开发中的应用,通过碰撞检测与动画模拟提升交互体验。 ... [详细]
author-avatar
手机用户2502927615
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有