牛客练习赛$48E$ 小$w$的矩阵前$k$大元素 堆

正解:堆

解题报告:

传送门$QwQ$

考虑把$b$从大往小排序,然后把$a_1+b_1,a_2+b_1,...,a_n+b_1$丢到堆里,顺便记录下$b$的下标

然后每次拿出一个最大值,设为$mx=x+b_i$,就把$x+b_{i+1}$丢进去就成

$over$

然后拓展以下$q$的范围是$m\cdot n$的时候怎么做昂$QAQ$

考虑把$a,b$分别排序,然后二分这个第$k$大是多少,发现$b$的数量是递增的,所以随便维护一下,$check$的复杂度就$O(m+n)$的

然后总的复杂度大概是$O((m+n)\times \log{1e9})$?

猜你喜欢

转载自www.cnblogs.com/lqsukida/p/11526611.html