正解:树上差分
解题报告:
这题还挺妙的,,,我想了半天才会$kk$
首先对一条链$S-T$,考虑先将它拆成$S-LCA$和$LCA-T$,分别做.因为总体上来说差不多接下来我就只港$S-LCA$的做法了$QwQ$
考虑对于一个观察点$j$,若要观察到玩家$i$,则有$dep_j+w_j=dep_i$.发现现在就只用统计$j$的子树内所有起点深度等于$dep_j+w_j$的就行.
显然考虑树上差分呗.就开个桶记$dep_i$,对每条路径在$S$处给$dep_S$+1,到$LCA$处给$dep_S-1$,然后在每个观察点答案就直接查$t_{dep_j+w_j}$就完事$QwQ$.
然后$LCA-T$差不多?就表达式变下,细节注意下,$over$
嗷然后最后一个点是,其实这条路径应该拆成$S-LCAson$和$LCA-T$的,$over$