Codeforces860E Arkady and a Nobody-men -- 单调栈 + 倍增
不会数据结构。。。只能想其他做法。。。令deepi表示点i的深度(根的深度为1)。显然点x的答案可以表示成∑ni=1deeplca(i,x)。我们按深度从小到大枚举每个点,那么一个点的答案就等于它父亲的答案加上与它同深度的点对它的贡献。对于同一深度的点,将它们按dfs序从小到大排序,然后分别计算每个点左边、右边所有点对它的贡献。考虑如何计算第i个点左边所有点对它的贡献。由于这些点与第i个点的lca