训练日记——2018.8.14——day29

今天上午来得晚了点,下午主要看了LCA,终于搞明白了rmq和树上rmq的用法,巧妙将查询变成了logn的复杂度。然后下午看了几道lca的裸题,终于搞明白了来龙去脉了,(弄懂了真的不容易啊,以前就看不懂)。先是结合几道简单lca做了下,昨天的那道题我也明白了,现在还在敲,就是先利用lca求出lca的位置,然后其他的就是在dfs里记录一下first和last时间戳,然后利用树状数组进行C的更新以及查询就好了,然后这道题还有个难点就是会有n个点n个边,所以有环。所以最后还要删掉一条边,然后比较一下。然后我发现这道题就是两道lca经典题的结合。

lca这种的高级的,我就是见一道补一道吧,如果没见过类似的我应该是想不出来的。

据说莫比乌斯反演那道题也很简单,今晚看看。

猜你喜欢

转载自blog.csdn.net/xianpingping/article/details/81675403