摘要: 优先队列有两个分支,一个是小根堆,一个是大根堆。 这是一个优先队列的定义: priority_queue<int> q; 默认是大根堆。 大根堆,也就是堆顶是最大的数,按着降序排到堆底。 小根堆,也就是堆顶是最小的数,按着升序排到堆底。 大根堆定义: priority_queue<int> q; 由 阅读全文
posted @ 2023-04-29 22:43 王浩泽 阅读(68) 评论(0) 推荐(0) 编辑
摘要: 题目: 这道题目十分简单,只要用大根堆维护前k小的数字即可,用大根堆是因为方便输出(用小根堆需要输出堆底),前k个先单独输入,不输出(第k个除外,单独输出) ,之后k+1~n如果输入进来的数字比堆顶大,直接跳过,否则先把原堆顶弹出再推入输入进来的数字,每一次输出堆顶即可。 大根堆与小根堆及优先队列 阅读全文
posted @ 2023-04-29 22:32 王浩泽 阅读(263) 评论(0) 推荐(0) 编辑