虚树
虚树就是将树上我们需要的关键信息,浓缩到一颗新的树上,这棵树上除了关键点还有任意一对关键点的lcalcalca的信息
建立:
这里介绍利用单调栈的做法,首先我们要明确一个目的,我们要用单调栈来维护一条虚树上的链。也就是一个栈里相邻的两个节点在虚树上也是相邻的,而且栈是从底部到栈首单调递增的(指的是栈中节点 DFS 序单调递增)
我们每次遇到一个新的关键点,将他和栈顶求lcalcalca,若lcalcalca不在栈顶,就弹栈,然后将lcalcalca和栈顶比较dfndfndfn,重复这个操作直到栈顶的dfnd
原创
2020-10-20 22:07:14 ·
68 阅读 ·
0 评论