随笔分类 -  数据结构——堆

摘要:题面 "传送门" 题解 先考虑一条链的情况,对于$1$号点来说,肯定是左子树中最大值和右子树中最大值一组,左子树中次大值和右子树中次大值一组……以此类推 那么如果不是一条链呢?我们把所有的链合并起来就是了。每个节点开个堆,启发式合并就可以了 阅读全文
posted @ 2019-04-21 18:34 bztMinamoto 阅读(271) 评论(0) 推荐(0)
摘要:题面 "传送门" 题解 我们先把它给前缀异或和一下,然后就是要求前$k$大的$a_i\oplus a_j$。把$k$乘上个$2$,变成前$2k$大的$a_i\oplus a_j$,最后答案除以一个$2$就可以了。显然$a_i\oplus a_i=0$,所以并不会影响答案 我们开一个堆,存$(i,k) 阅读全文
posted @ 2019-04-21 18:12 bztMinamoto 阅读(112) 评论(0) 推荐(0)
摘要:题面 三个操作 1.在当前数列最左端加入$k$个初始为$0$的数 2.在当前数列最右端加入$k$个初始为$0$的数 3.将当前数列从左到右第$i$个数加上$b+(i 1)k(b 0,k 0)$ 请在每一次操作之后输出当前数列的最小值以及最小值所在的位置,如果有多个相同的最小值取最左端的 题解 首先有 阅读全文
posted @ 2019-03-14 20:35 bztMinamoto 阅读(326) 评论(0) 推荐(0)
摘要:"传送门" 动态dp我好像还真没咋做过……通过一个上午的努力光荣的获得了所有AC的人里面的倒数rk3 首先有一个~~我一点也不觉得~~显然的定理,如果两条路径相交,那么一定有一条路径的$LCA$在另一条路径上 于是我们可以对于每一个点记录两个值,一个$a_i$表示$LCA$在$i$点的所有路径的权值 阅读全文
posted @ 2019-01-08 10:19 bztMinamoto 阅读(383) 评论(0) 推荐(0)
摘要:传送门 准确的来说这个应该叫尺取法? 先对所有的点按$x$坐标进行排序 我们维护两个指针$l,r$,每一次令$r$不断右移直到所有颜色齐全,再不断右移$l$直到颜色数不足,那么此时$[l-1,r]$这个区间里的彩珠肯定能构成所有颜色,且不难发现不会有包含这一区间的方案比它更优 阅读全文
posted @ 2018-10-09 19:15 bztMinamoto 阅读(221) 评论(0) 推荐(0)
摘要:传送门 我们定义$(p,l,r)=max\{sum[t]-sum[p-1],p+l-1\leq t\leq p+r-1 \}$ 那么因为对每一个$p$来说$sum[p-1]$是一个定值,所以我们只要在$[p+l-1,p+r-1]$的区间里找出最大的$sum[t]$就行了,这就是一个RMQ问题,开个S 阅读全文
posted @ 2018-09-19 19:29 bztMinamoto 阅读(173) 评论(0) 推荐(0)

Live2D