2012年12月15日
摘要:
http://poj.org/problem?id=1182并查集的灵活应用代码:/*可以这样理解并查集是由很多树组成的,这些树不断的合并下面代码f[]仍然代表此节点所属的树根而d[]表示此点到父节点的差值,但是每次求fx()(树根)时,节点都更新指向树根假如比父节点大1 则此点可以吃掉父节点假如比父节点大2 则此点可以被父节点吃掉假如和父节点相等,则属于同类这里所指的大是针对当前节点对父节点而言的,2比1大1 0比2大1(循环)由于更新完都指向树根了,所以就有了相同的参照物根据不同的点和树根的关系,可以推算出一棵树任意两点之间的关系问题就在于如何维护树的合并,f[]还是按照原来的方法,d.. 阅读全文