数据结构-优先队列
花飞雨追
梦想不是浮躁,而是沉淀和积累。
展开
-
Leetcode 373 查找和最小的k对数字
题目给定两个以 升序排列 的整数数组 nums1 和 nums2 , 以及一个整数 k 。定义一对值 (u,v),其中第一个元素来自 nums1,第二个元素来自 nums2 。请找到和最小的 k 个数对 (u1,v1), (u2,v2) … (uk,vk) 。解题思路 优先队列。对于一对数 (a1, b1) ,离它最近且比它大的数可能是 (a1 + 1, b1) 或者 (原创 2022-01-14 22:33:49 · 538 阅读 · 0 评论 -
Leetcode 1705 吃苹果的最大数目
题目有一棵特殊的苹果树,一连 n 天,每天都可以长出若干个苹果。在第 i 天,树上会长出 apples[i] 个苹果,这些苹果将会在 days[i] 天后(也就是说,第 i + days[i] 天时)腐烂,变得无法食用。也可能有那么几天,树上不会长出新的苹果,此时用 apples[i] == 0 且 days[i] == 0 表示。你打算每天 最多 吃一个苹果来保证营养均衡。注意,你可以在这 n 天之后继续吃苹果。给你两个长度为 n 的整数数组 days 和 apples ,返回你可以吃掉的苹果的最大原创 2021-12-24 16:15:50 · 330 阅读 · 0 评论 -
Leetcode 630 课程表 III
题目这里有 n 门不同的在线课程,按从 1 到 n 编号。给你一个数组 courses ,其中 courses[i] = [durationi, lastDayi] 表示第 i 门课将会 持续 上 durationi 天课,并且必须在不晚于 lastDayi 的时候完成。你的学期从第 1 天开始。且不能同时修读两门及两门以上的课程。返回你最多可以修读的课程数目。解题思路 反悔贪心。贪心策略为,在尽可能短的时间内学习最多的课,对于学习相同数目的课,需要消耗的时间尽可能的少。 首先是原创 2021-12-14 16:56:10 · 279 阅读 · 0 评论 -
二叉堆
#include<bits/stdc++.h>using namespace std;const int maxn = 5e+5;int arr[maxn],cnt;void put(int x){ arr[++cnt]=x; int son=cnt; while(arr[son/2]>arr[son]) swap(arr[son/2],ar...原创 2018-06-25 21:57:33 · 287 阅读 · 0 评论 -
POJ 2387 Til the Cows Come Home
Til the Cows Come HomeTime Limit: 1000MS Memory Limit: 65536KTotal Submissions: 60653 Accepted: 20640DescriptionBessie is out in the field and wants to get back t原创 2017-11-27 13:14:53 · 201 阅读 · 0 评论 -
POJ 1511 Invitation Cards
Invitation Cards Time Limit: 8000MS Memory Limit: 262144K Total Submissions: 29752 Accepted: 9928DescriptionIn the age of television, not many people attend theater performances. Antique原创 2017-12-04 11:24:11 · 255 阅读 · 0 评论 -
POJ 1062 昂贵的聘礼
昂贵的聘礼Time Limit: 1000MS Memory Limit: 10000KTotal Submissions: 51791 Accepted: 15553Description年轻的探险家来到了一个印第安部落里。在那里他和酋长的女儿相爱了,于是便向酋长去求亲。酋长要他用10000个金币作为聘礼才答应把女儿嫁给原创 2017-11-24 22:01:39 · 175 阅读 · 0 评论 -
HDU 2544 最短路(多种解法)
最短路Time Limit: 5000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 72444 Accepted Submission(s): 31637Problem Description在每年的校赛里,所有进入决赛的同学都会获原创 2017-11-21 22:15:31 · 284 阅读 · 0 评论 -
POJ 1511(链式前向星)
Invitation Cards Time Limit: 8000MS Memory Limit: 262144K Total Submissions: 29800 Accepted: 9948DescriptionIn the age of television, not many people attend theater perform...原创 2017-12-08 19:37:01 · 278 阅读 · 2 评论 -
UVA10603 FILL 优先队列+BFS
题目就省略了。题意:给出三个已知容量的无刻度杯子,其中前两个是空的,第三个是满的。杯子之间可以相互倒水,但不能将水倒掉。再给出一个体积,输出得到这个体积的最小倒水量。如果不能直接得到给出的体积,那么找到一个体积d',要求比d小而且最接近d,而且倒水量最小。解题思路:这个题用BFS解无疑,但其跟普通的通过步数的BFS不一样,他这里是优先倒水量最小。我们这里需要用优先队列来存下每个节点,对于优原创 2017-08-09 16:10:37 · 213 阅读 · 0 评论