堆
YAOSHIAO
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
AcWing 839. 模拟堆(C++算法)
AcWing 839. 模拟堆1、题目:维护一个集合,初始时集合为空,支持如下几种操作:“I x”,插入一个数x;“PM”,输出当前集合中的最小值;“DM”,删除当前集合中的最小值(数据保证此时的最小值唯一);“D k”,删除第k个插入的数;“C k x”,修改第k个插入的数,将其变为x;现在要进行N次操作,对于所有第2个操作,输出当前集合的最小值。输入格式第一行包含整数N。接下来N行,每行包含一个操作指令,操作指令为”I x”,”PM”,”DM”,”D k”或”C k x”中的一种。原创 2020-09-05 15:49:15 · 235 阅读 · 0 评论 -
AcWing 838. 堆排序(C++算法)
AcWing 838. 堆排序1、题目:输入一个长度为n的整数数列,从小到大输出前m小的数。输入格式第一行包含整数n和m。第二行包含n个整数,表示整数数列。输出格式共一行,包含m个整数,表示整数数列中前m小的数。数据范围1≤m≤n≤105,1≤数列中元素≤109输入样例:5 34 5 1 3 2输出样例:1 2 32、基本思想:小根堆,看成一个完全二叉树,将一个数与它的左右子节点相比较,大数下沉。3、步骤:①插入一个数 heap[++size] = x; down(s原创 2020-08-26 22:06:48 · 276 阅读 · 0 评论
分享