JZOJ5956.【NOIP2018模拟11.7A组】easy LCA
PROBLEM
给定一个n个节点的树,给定一个排列,求所有连续子段的节点的LCA的深度和。
SOLUTION
这题有很多种方法。
分治
考虑跨过区间中点的答案,从中线往两边扫,扫过左半边和右半边的LCA一定是在两条链上,那么合并这两条链上任意点对的答案,扫一遍就可以了。另外考虑O(1)求LCA,用欧拉序与RMQ可以做到总复杂度O(Nlog n),只不过常数巨大。
一个性质
对于一个排列,任意相邻位...
原创
2018-11-21 20:33:26 ·
195 阅读 ·
0 评论