【学习笔记】线段树合并

线段树合并

前置知识:

  • 动态开点

  • 权值线段树

引入

洛谷P3224

永无乡包含 \(n\) 座岛,编号从 \(1\)\(n\) ,每座岛都有自己的独一无二的重要度,按照重要度可以将这 \(n\) 座岛排名,名次用 \(1\)\(n\) 来表示。某些岛之间由巨大的桥连接,通过桥可以从一个岛到达另一个岛。如果从岛 \(a\) 出发经过若干座(含 \(0\) 座)桥可以 到达岛 \(b\) ,则称岛 \(a\) 和岛 \(b\) 是连通的。

现在有两种操作:

B x y 表示在岛 \(x\) 与岛 \(y\) 之间修建一座新桥。

Q x k 表示询问当前与岛 \(x\) 连通的所有岛中第 \(k\) 重要的是哪座岛,即所有与岛 \(x\) 连通的岛中重要度排名第 \(k\) 小的岛是哪座,请你输出那个岛的编号。(\(n \le 10^5\)

————

求第 \(k\) 小我们想到可以开权值线段树,记录当前值的出现次数,在线段树上二分即可。

我们对于每一个岛都开一个线段树,可合并操作怎么办呢?这个时候就需要线段树合并了。

线段树合并

posted @ 2025-12-21 17:20  Azarole  阅读(1)  评论(0)    收藏  举报