题解:
首先构建虚树,然后在虚树上DP。
过程很简单。
先找出每个虚树节点 ii 旁边最近的询问节点 nearinear_i (因为有一些lca也被加入了虚树所以虚树节点不全是询问节点,呃怕你们不懂,但其实这是废话Qwq。)
然后对于每条链 [l,r][l,r],找出 [nearl,nearr][near_l,near_r] 中点,然后两边随便给一给就好了。。
代码:
#inclu...
分类:
其他好文 时间:
2015-06-15 22:17:07
阅读次数:
140
通过这题我知道了一个鬼故事,trunc(ln(128)/ln(2))=6……以后不敢轻易这么写了好了言归正传,这题明显的构建虚树,但构建虚树后怎么树形dp呢?由于虚树上的点不仅是议事会还有可能是议事会的LCA,所以我们要先求出虚树上每个点是被那个议事会管理的,这我们可以通过两遍dfs求出(儿子更新父...
分类:
其他好文 时间:
2015-05-09 17:33:27
阅读次数:
178