优先队列/堆
「已注销」
这个作者很懒,什么都没留下…
展开
-
POJ 1862 Stripies (priority_queue 优先队列)
做法:全部放入队列,每次去两个大的进行 2 * sqrt(m1*m2 ) 因为要使最终的结果最小,所以大的先进行开方,(是因为先进行合并的进行更多次开方)。#include <iostream> #include <cstdio> #include <string.h> #include <queue> #include <cmath> typedef long long int lli;原创 2017-01-13 21:29:32 · 235 阅读 · 0 评论 -
POJ 1442 Black Box(第k次询问第k小,两个堆)
思路:用一个大顶堆和一个小顶堆,将队列分为两部分,大顶堆的堆顶小于小顶堆的堆顶,这样就连续的把数列分开了,每次询问只要把小顶堆里的数扔到大顶堆里去,然后调整两个堆使得大顶堆的堆顶小于小顶堆的堆顶 ,然后此时大顶堆的堆顶就是第k小。 #include <iostream> #include <cstdio> #include <string.h> #include <queue> #include原创 2017-01-13 21:37:19 · 248 阅读 · 0 评论