题意:给定n个元素,现在有2种合并操作和1种询问操作

1.单独合并两个元素所在的集合 2.合并一个区间内的元素所在的集合

询问:两个元素是否属于统一集合

神犇题解

感觉又涨了新姿势啊。。我们最恼火的是区间操作,如果老实去做肯定不行,但是转念一想,我们老实做的时候,为什么会损耗大量时间呢?因为区间合并后,很多元素本来就在同一集合里,不用判断了。

我们要怎么跳过无用的判断呢?我们记录一个每个元素以前第一个和它不处在同一元素的位置,这样,已经合并过的元素就不会再被拿出来检验一遍了,也就是说,合并过的会直接跳过去,不会做多余的检查。

那么这样下来就是均摊O(alpha(n))了。

相关文章:

  • 2022-12-23
  • 2021-08-16
  • 2021-05-21
  • 2021-09-27
  • 2021-09-12
  • 2021-09-19
  • 2022-12-23
  • 2021-08-25
猜你喜欢
  • 2022-12-23
  • 2021-12-14
  • 2021-12-10
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
相关资源
相似解决方案