牛客98467981号
牛客98467981号
全部文章
分类
题解(3)
归档
标签
去牛客网
登录
/
注册
牛客98467981号的博客
全部文章
(共3篇)
题解 | #第k小#
双堆解法 类似于双堆求中位数 把前k小的数放进大根堆,大根堆的堆顶恰好就是第k小的数 剩下的数放进小根堆里 如果要插入一个x 如果x比大根堆堆顶大,就扔进小根堆不管它了 如果x比大根堆堆顶小,取出大根堆堆顶,把堆顶那个数放进小根堆,再把x放入大根堆 查找的时候,大根堆如果size是k,那么大根堆堆顶...
C++
堆(优先队列)
2025-03-21
0
17
题解 | #数字组合#
一种基于哈希表的解法 与二分的解法相似,把a[i] + b[j]的所有结果放到ab数组里面 不同的是,可以使用哈希表存储从c[i] + d[j] 用m.count(-ab)可以在最好是o(1)的时间复杂度下找到a+b+c+d = 0 但是题目数据好像卡了 哈希表解法最好的时间复杂度是O(n^2), ...
C++
2025-03-19
0
32
题解 | #货仓选址#
一种前缀和的解法 假如我们并不知道中位数就是最优解 先看暴力枚举的思路 1-index数组a存储货仓的坐标 先给a排个序 for i := 1 to n a[i]距离左边货仓j: a[i] - a[j] 距离左边所有货仓就是 a[i] - (a[1] + a[2] +... + a[i - 1]) ...
C++
前缀和
2025-03-14
1
24