摘要: 题目链接: "戳我" 其实和超级钢琴那个题思路挺像的,就是我们弄一个二元组,一个pos,一个sum。 超级钢琴那个题的主席树思路大家可以借鉴一下,这里也就是换成了可持久化01trie。 求一下前缀异或和,然后在它pos前面的01trie里面查询第k大即可。 代码如下: 阅读全文
posted @ 2019-04-09 10:48 风浔凌 阅读(141) 评论(0) 推荐(0) 编辑
摘要: 题目连接: "戳我" 我们读完题之后简单演算一下,会发现一个贪心——就是每个结点的子链上面一一向比自己大的配对即可。 这样的话我们可以对于每个节点都开一个大根堆,然后一一合并。 但是时间复杂度是过不去的。所以我们考虑启发式合并。 代码如下: include include include inclu 阅读全文
posted @ 2019-04-09 10:42 风浔凌 阅读(280) 评论(0) 推荐(0) 编辑
摘要: 题目链接: "戳我" RMQ版本 就是我们考虑记录一个三元组qwq,一个是pos,一个是l,一个是r。 我们可以用ST表来查询固定左端点,右端点在一段区间内的最大值所在的位置。 然后我们使用优先队列,不断累加最大值,然后弹出,求它的区间的子区间内的最大值。 代码如下: 阅读全文
posted @ 2019-04-09 10:39 风浔凌 阅读(115) 评论(0) 推荐(0) 编辑