题目:pog loves szh III
链接:http://acm.hdu.edu.cn/showproblem.php?pid=5266
题意:给一棵树,有m个询问,每个询问问所有下标在[l, r]之中的结点的最近公共祖先。
思路:
线段树 + LCA
这道题数据有点大,n、m均在30万,所以有点卡内存,做这道题才知道自己平时做题有多浪费内存。。。
题目提示小心栈溢出,我AC以后再用普通的dfs试,发现不会出现该问题,但最好还是自己写栈,用while代替递归。
题目思路并不难,线段树处理区间,建树时使用lca在线计算即可。
AC代码:
1 #include
2 #include<string.h>
3 #include
4 #include
5 #include<set>
6 #include