![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
二叉堆
tomjobs
别慌,慌也没用
展开
-
LeetCode 1675. 数组的最小偏移量(堆+贪心)
给你一个由 n 个正整数组成的数组 nums 。你可以对数组的任意元素执行任意次数的两类操作:如果元素是 偶数 ,除以 2例如,如果数组是 [1,2,3,4] ,那么你可以对最后一个元素执行此操作,使其变成 [1,2,3,2]如果元素是 奇数 ,乘上 2例如,如果数组是 [1,2,3,4] ,那么你可以对第一个元素执行此操作,使其变成 [2,2,3,4]数组的 偏移量 是数组中任意两个元素之间的 最大差值 。返回数组在执行某些操作之后可以拥有的 最小偏移量 。示例 1:输入:nums =原创 2021-02-01 16:02:29 · 726 阅读 · 1 评论 -
LeetCode 23. 合并K个升序链表(分治 / 堆)
思路:分治:分为两部分分别求解,再把求解结果按照两个链表合并的方式合并。堆:将所有的节点放入堆中,每次取最小权值的节点。分治:/** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * ListNode() : val(0), next(nullptr) {} * ListNode(int x) : val(x), next(nul.原创 2021-01-18 17:15:32 · 185 阅读 · 0 评论 -
I - Incoming Asteroids Gym - 102452I(优先队列)
The International Coalition to Prevent Catastrophes (ICPC) recently discovered several small asteroids in a nearby galaxy. If these asteroids hit the Earth, it will lead to a terrible disaster. So it is important for the ICPC to fully study the orbit traje原创 2020-10-10 00:22:36 · 529 阅读 · 0 评论 -
Codeforces962D Merge Equals(优先队列)
You are given an array of positive integers. While there are at least two equal elements, we will perform the following operation. We choose the smallest value ???? that occurs in the array 2 or more times. Take the first two occurrences of ???? in this ar原创 2020-09-03 12:43:43 · 166 阅读 · 0 评论 -
杭电多校第一场 HDU6759 Leading Robots(优先队列贪心)
Problem DescriptionSandy likes to play with robots. He is going to organize a running competition between his robots. And he is going to give some presents to the winners. Robots are arranged in a line. They have their initial position (distance from the原创 2020-07-22 16:07:53 · 314 阅读 · 0 评论 -
G - Graph Gym - 100801G(拓扑排序+优先队列)
题意:一个有向无环图,由1~n的点组成。要求加至多k条边使得拓扑排序得到的最小字典序最大思路:首先确定,通过加边改变拓扑序,只是对于当前可选的点如x1,x2,x3x1,x2,x3x1,x2,x3,改变x1,x2,x3x1,x2,x3x1,x2,x3的输出相对顺序。而对于a−>b−>c−>da->b->c->da−>b−>c−>d,怎么连边都不能让ddd先输出。假设一个超级源点0,0连接了所有点。因为题意求的是最小字典序,那么将队列换成小根堆.原创 2020-05-18 16:32:14 · 400 阅读 · 0 评论 -
CF1342D. Multiple Testcases(优先队列)
So you decided to hold a contest on Codeforces. You prepared the problems: statements, solutions, checkers, validators, tests… Suddenly, your coordinator asks you to change all your tests to multiple ...原创 2020-04-27 01:01:27 · 874 阅读 · 0 评论 -
Google Kickstart 2020 Round A Workout(优先队列)
ProblemTambourine has prepared a fitness program so that she can become more fit! The program is made of N sessions. During the i-th session, Tambourine will exercise for Mi minutes. The number of mi...原创 2020-03-22 23:05:41 · 902 阅读 · 2 评论 -
AcWing 145. 超市(优先队列 / 并查集)
超市里有N件商品,每个商品都有利润pi和过期时间di,每天只能卖一件商品,过期商品(即当天di<=0)不能再卖。求合理安排每天卖的商品的情况下,可以得到的最大收益是多少。输入格式输入包含多组测试用例。每组测试用例,以输入整数N开始,接下里输入N对pi和di,分别代表第i件商品的利润和过期时间。在输入中,数据之间可以自由穿插任意个空格或空行,输入至文件结尾时终止输入,保证数据正确。...原创 2020-03-07 23:51:25 · 197 阅读 · 0 评论 -
leetcode480 滑动窗口中位数
中位数是有序序列最中间的那个数。如果序列的大小是偶数,则没有最中间的数;此时中位数是最中间的两个数的平均数。例如:[2,3,4],中位数是 3[2,3],中位数是 (2 + 3) / 2 = 2.5给出一个数组 nums,有一个大小为 k 的窗口从最左端滑动到最右端。窗口中有 k 个数,每次窗口向右移动 1 位。你的任务是找出每次窗口移动后得到的新窗口中元素的中位数,并输出由它们组成的数组...原创 2020-03-03 09:07:09 · 325 阅读 · 0 评论 -
ACWING147. 数据备份(贪心,堆)
你在一家IT公司为大型写字楼或办公楼的计算机数据做备份。然而数据备份的工作是枯燥乏味的,因此你想设计一个系统让不同的办公楼彼此之间互相备份,而你则坐在家中尽享计算机游戏的乐趣。已知办公楼都位于同一条街上,你决定给这些办公楼配对(两个一组)。每一对办公楼可以通过在这两个建筑物之间铺设网络电缆使得它们可以互相备份。然而,网络电缆的费用很高。当地电信公司仅能为你提供 K 条网络电缆,这意味着你...原创 2020-03-01 13:55:28 · 237 阅读 · 0 评论 -
ACWING149. 荷马史诗(多叉哈夫曼树)
追逐影子的人,自己就是影子。 ——荷马达达最近迷上了文学。她喜欢在一个慵懒的午后,细细地品上一杯卡布奇诺,静静地阅读她爱不释手的《荷马史诗》。但是由《奥德赛》和《伊利亚特》组成的鸿篇巨制《荷马史诗》实在是太长了,达达想通过一种编码方式使得它变得短一些。一部《荷马史诗》中有 n 种不同的单词,从 1 到 n 进行编号。其中第 i 种单词出现的总次数为 wi。达达想要用 k 进制串 si 来...原创 2020-02-27 16:24:30 · 379 阅读 · 0 评论 -
ACWING148. 合并果子(哈夫曼树最小花费)
在一个果园里,达达已经将所有的果子打了下来,而且按果子的不同种类分成了不同的堆。达达决定把所有的果子合成一堆。每一次合并,达达可以把两堆果子合并到一起,消耗的体力等于两堆果子的重量之和。可以看出,所有的果子经过n-1次合并之后,就只剩下一堆了。达达在合并果子时总共消耗的体力等于每次合并所耗体力之和。因为还要花大力气把这些果子搬回家,所以达达在合并果子时要尽可能地节省体力。假定每个果子重...原创 2020-02-27 16:20:42 · 324 阅读 · 0 评论 -
ACWING146. 序列(优先队列)
给定m个序列,每个包含n个非负整数。现在我们可以从每个序列中选择一个数字以形成具有m个整数的序列。很明显,我们一共可以得到nm个这种序列, 然后我们可以计算每个序列中的数字之和,并得到nm个值。现在请你求出这些序列和之中最小的n个值。输入格式第一行输入一个整数T,代表输入中包含测试用例的数量。接下来输入T组测试用例。对于每组测试用例,第一行输入两个整数m和n。接下在m行输入m个整数...原创 2020-02-27 12:50:44 · 244 阅读 · 0 评论