其他分享
首页 > 其他分享> > 【题解】 洛谷 P4810 [COCI 2014/2015 #3]STOGOVI

【题解】 洛谷 P4810 [COCI 2014/2015 #3]STOGOVI

作者:互联网

感觉这题思路挺妙的。

历史版本操作?这很主席树。想了半天不知道咋搞,毕竟主席树是维护值域的,这下标操作很难办呐,一看题解,woc,lca?

这题的基本思路是对操作建树,具体怎么建呢?

对于每一个入栈操作 \(a\ \ v\),考虑将新加入的数字 \(i\) 作为 \(v\) 的儿子,这样就可以做到从根节点向下,每一条路径都是某一个版本的栈,为啥这是对的啊?

考虑其实出栈操作不过是将这个版本的栈返回到以前的某个版本,所以就可以用类似懒惰删除的方法将当前这个栈标记为它当前版本的父节点。

那操作3呢?就直接求dep[lca]即可。

这种对操作建树的思想很值得学习。

标签:洛谷,题解,STOGOVI,这题,版本,lca,操作,节点
来源: https://www.cnblogs.com/wapmhac0523/p/16373051.html