Link
Solution
非常神奇的思路。 每个集合的元素一定是的数字。这些数字,是几个集合求交的得到的。一切集合追溯到本源,都来源于虚无()。如果把每个集合抽象成到的路径,每个集合的构造过程就是几条路径的并集,加上一个新点。这是一个树结构,然后就可以通过LCA实现求交,通过DFS序实现求并集的大小。
Tips
集合交:路径交 集合并:路径并
Code
1 |
|
非常神奇的思路。 每个集合Bk的元素一定是≤k的数字。这些数字,是几个集合求交的得到的。一切集合追溯到本源,都来源于虚无(∅)。如果把每个集合抽象成到∅的路径,每个集合的构造过程就是几条路径的并集,加上一个新点。这是一个树结构,然后就可以通过LCA实现求交,通过DFS序实现求并集的大小。
集合交:路径交 集合并:路径并
1 | #include "lucida" |