2012年7月4日
摘要: POJ_1741 具体的思路可以参考漆子超的《分治算法在树的路径问题中的应用》这篇论文。 对于树的分治的题目,一开始理解起来有点头疼,主要是一开始没弄明白为什么分治以后可以改善复杂度,其实关键的操作就在于对于当前这棵树,重新找到一个“合适”(何为“合适”,详见论文)的点作为根节点,并将这个点删除,再依次递归这个点的各个子树。 如果我们将这些点按删除的顺序重新构造一棵树的话,论文上有证明这棵树的树高是O(logN)的,对于每一层的节点而言,遍历一遍这层节点所有的子树的总复杂度为O(N)。这样,对于这棵树每个节点都执行一遍遍历所有子树的操作的总的复杂度就是O(NlogN)了,从而达到了降低复杂.. 阅读全文
posted @ 2012-07-04 19:24 Staginner 阅读(1095) 评论(0) 推荐(0) 编辑