
数据结构——树链剖分
sdau_blue
念念不忘,必有回响。驰而不息,功不唐捐。
展开
-
树链剖分讲解
转载:http://blog.sina.com.cn/s/blog_6974c8b20100zc61.html我们经常会遇到这样一类题目:给出一棵树,询问树上u,v两点路径间的最值,合值,更新u,v路径上的点权或边权,或者区间更新etc,此时如果单纯的用线段树或者树状数组去搞,很明显问题不能够得到完美解决,此时就需要更高级的数据结构去对树进行重新构造,也就是通常说的树链剖分。一.树链剖分 ...转载 2018-03-04 22:30:36 · 233 阅读 · 0 评论 -
LCA最近公共祖先(tarjan离线)
求最近公共祖先的方法有三个:tarjan离线,倍增在线,RMQ。tarjan离线的方法理解起来较为简单。一.Tarjan算法大致实现过程先选择一个节点u为根节点,从根节点开始搜索。(标记u已访问过)遍历该点u的所有儿子节点v,并标记v已访问过。若v还有儿子节点,对v重复ii操作,否则进入下一操作。把v合并到u上(并查集)。把当前的点设为u,遍历与u有询问关系的节点v。如果v在之前已经被访问过,那么...原创 2018-03-05 22:25:59 · 234 阅读 · 0 评论 -
训练日记——2018.8.1——day16
今天上午扫了一眼多校第六场的题目,有一道题是二分图的题目,思路很简单,实现起来要用到分治?不大懂,,,然后搞了道水题。然后就中午了。下午的比赛水题水的速度还可以(因为真的很水)。没想到我一看榜就还剩一道组合数的一道题过的最多,当时想不出来。然后就放弃了?!!!!然后其他题目也没看,就看了一道E题,样例都没跑出来,想到了要打个表,但是我是怎么了呢?就不动了。同样也没看到最后的搜索水题。听了讲解,...原创 2018-08-01 21:59:33 · 480 阅读 · 0 评论