摘要: 介绍 树状数组主要操作为lowbit函数(取出x元素的低位二次幂)方便用于爬链操作(每层子节点通过加上低位二次幂可到达父节点),以及求前缀序列和的操作(将x减去其低位二次幂可得到前一未覆盖序列,通过累加从而达到求前缀和的操作)。 点击查看代码 int lowbit(int x) {return x& 阅读全文
posted @ 2024-02-12 16:35 WandW 阅读(29) 评论(0) 推荐(0)
摘要: 介绍 用来求解第K大的数,首先用一个大根堆维护那些小于第K大数的数字,用小根堆来维护第K大以及比第K大还大的数字。 若想求解第K大数,直接访问小根堆的堆顶即可,当小根堆的堆的数量小于K时,将大根堆的数字从堆顶以此插入小根堆(因为大根堆中根节点是最大的数字,而大根堆的数均比小根堆的数小), 当小根堆的 阅读全文
posted @ 2024-02-12 15:38 WandW 阅读(47) 评论(0) 推荐(0)