优先队列。
我们可以先枚举一个维度,然后在一个维度上确定另外一个维度的大小。
这里我们是枚举阅读量的最小值 x,然后在阅读量大于等于 x 的所有书中,选择评分前 k 大的 k 本书,求出其评分之和。
可以发现的是,我们可以从大到小枚举 x,然后将选择的 k 本书以它们的评分维护一个小根堆,以及这些评分之和。
图书馆要从 n 本书中挑选 k 本组成一份推荐书单。每本书有两个属性:评分 si 和累计阅读量 ri,均为正整数。书单的影响力定义为:选出的 k 本书的评分之和,乘以这 k 本书中阅读量的最小值。请计算在所有可能的选法当中,书单影响力的最大值。
n 和 k 满足 1≤k≤n≤105,所有评分和阅读量均为不超过 105 的正整数。
第一行包含两个整数 n 和 k。 第二行包含 n 个整数,依次表示每本书的评分 s1,s2,…,sn。 第三行包含 n 个整数,依次表示每本书的累计阅读量 r1,r2,…,rn。
本题属于以下题库,请选择所需题库进行购买
Scan the QR code below with WeChat to sign in
First-time scan will create your account automatically
请使用微信扫描下方二维码完成注册