本文主要是介绍[POI2014]Hotel加强版,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
Hotel加强版
题解
很板子的一道长链剖分。
首先应该是很容易想出它的dp方程式的。
我们令 f u , i f_{u,i} fu,i表示在 u u u的子树中,与 u u u距离为 j j j的点的个数, g u , i g_{u,i} gu,i表示在 u u u的子树中,两个离它们 l c a lca lca距离与它们的 l c a lca lca与 u u u距离的差值为 j j j的点对个数。
显然,当我们将点 v v v合并到点 u u u上时,有 d p dp dp转移式
f u , j + = f v , j − 1 , g u , j + = f u , j f v , j − 1 + g v , j + 1 f_{u,j}+=f_{v,j-1},g_{u,j}+=f_{u,j}f_{v,j-1}+g_{v,j+1} fu,j+=fv,j−1,gu,j+=f
这篇关于[POI2014]Hotel加强版的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!