树上莫队
可以把树上的一条链变成一位序列 然后用普通莫队求解
需要求出树欧拉序(和dfs序不同)
这颗树欧拉序为:1 4 8 8 4 3 7 7 6 6 5 5 3 2 2 1
根据欧拉序求出每个点第一次出现的位置和最后一次出现的位置
first[1]=1 first[2]=14
last[1]=16 last[2]=15
对于每次询问(l,r):
假设first[l]<first[r]
如果l是r的祖先节点: l到r经过的点就是first[l]到first[r]序列中只出现一次的点。
如果l不是r的祖先节点
原创
2020-10-03 10:46:10 ·
259 阅读 ·
0 评论