摘要:
poj.org/problem?id=2892 poj上的一道数据结构题,这题正解貌似是Segment Tree,不过我用了Splay Tree来写,而且我个人认为,这题用Splay Tree会更好写! 先简单解释一下题意:有n个连续的村庄,有以下几种操作(1)破坏一个村庄(2)问某个村庄与多少个村庄相连(包括它本身)(3)重建之前破坏了的村庄。 这道题用Splay Tree做要用到一个类似DLX(Dancing Links)的操作,就是结点的假删除,用到这个题上可以说是相当的巧妙的。我们在删除结点前把结点Splay到根的位置,然后删除的只是子结点指向父结点(也就是现在要删除的结点)的指... 阅读全文