今天上午来得晚了点,下午主要看了LCA,终于搞明白了rmq和树上rmq的用法,巧妙将查询变成了logn的复杂度。然后下午看了几道lca的裸题,终于搞明白了来龙去脉了,(弄懂了真的不容易啊,以前就看不懂)。先是结合几道简单lca做了下,昨天的那道题我也明白了,现在还在敲,就是先利用lca求出lca的位置,然后其他的就是在dfs里记录一下first和last时间戳,然后利用树状数组进行C的更新以及查询就好了,然后这道题还有个难点就是会有n个点n个边,所以有环。所以最后还要删掉一条边,然后比较一下。然后我发现这道题就是两道lca经典题的结合。
lca这种的高级的,我就是见一道补一道吧,如果没见过类似的我应该是想不出来的。
据说莫比乌斯反演那道题也很简单,今晚看看。
本文详细探讨了LCA及其与RMQ的结合应用,通过实例解析如何巧妙地将查询复杂度降低至logn,并成功解决具有环形结构的复杂问题。作者分享了从简单到进阶的LCA题目的理解和解题策略,包括如何利用LCA求解位置,DFS记录时间戳,以及使用树状数组进行操作。此外,文章还提到了LCA与经典问题的结合,以及未来计划深入研究莫比乌斯反演问题。
1302

被折叠的 条评论
为什么被折叠?



