
优先队列
EnjoyingAC
bugger,写bug爱好者。
展开
-
阿格斯(Argus,UVALive-3135)
题目链接https://vjudge.net/problem/UVALive-3135题意给定若干个命令 Register Q_num Period.该命令注册了一个触发器,它每隔Period时间都会产生一个事件,事件的编号为Q_num.如果多个事件同时发生,优先处理Q_num小的事件。求前k个事件的编号。分析将所有命令以结构体形式插入到优先队列中,优先队列按时间排序,...原创 2018-04-03 11:13:49 · 525 阅读 · 0 评论 -
K个最小和(K Smallest Sums,UVA-11997 )多路归并
题目链接https://vjudge.net/problem/UVA-11997题意给定k个数组,每个数组有k个值。从每个数组中选一个值,然后对所选值累加求和。问这k^k个和中最小的k个分别是多少。将其升序输出。分析参考自刘汝佳《白书》中解法:多路归并。先考虑简化情况:k=2.k=2时,和有k^2个,将这k^2个元素排序后,前k个即为所求。 多路归并是归并排序的升...原创 2018-04-03 19:41:35 · 389 阅读 · 0 评论 -
FZU2285 迷宫寻宝(从一点到另一点的最少时间)
题目链接http://acm.fzu.edu.cn/problem.php?pid=2285题目洪尼玛今天准备去寻宝,在一个n*n (n行, n列)的迷宫中,存在着一个入口、一些墙壁以及一个宝藏。由于迷宫是四连通的,即在迷宫中的一个位置,只能走到与它直接相邻的其他四个位置(上、下、左、右)。现洪尼玛在迷宫的入口处,问他最少需要走几步才能拿到宝藏?若永远无法拿到宝藏,则输出-1。In...原创 2018-06-02 18:37:42 · 857 阅读 · 0 评论 -
2018多校赛第一场1004 Distinct Values(优先队列+思维)
题意要求构造一个大小为N的数组,给定M个区间,区间内的元素都互不相同。解题初始将1~N这N个数放入优先队列中,优先队列内值小的优先。 将这M个区间按照区间左端升序排列、左端相等则按照区间长度降序排列。一开始将数组的值都置为1,然后一个区间一个区间的填数,填数的顺序就是优先队列的顺序,填一个数弹出一个元素。填下一个区间时,判断区间右侧是否大于上一个区间的右侧,如果不大于,不用填;如果大...原创 2018-07-23 19:58:43 · 329 阅读 · 1 评论