小红定义一棵树的权值为:
若一条简单路径u→v满足su+...+sv,是一个回文串。在所有这样的路径中,路径的长度的最大值是是该树的权值。现在小红给定一棵结点总数为n的树和 'a','b','c',...,'z'每种字母的个数,保证所有个数之和恰好等于n。
本题要求我们在给定的树上给每个结点分配字母,目标是使得“回文路径”的最大长度(树的权值)达到最大。
实际上我们可以证明:
因此问题转化为:
在全局给定的字母个数下,能构成的最长回文串长度是多少?
对于任意一个字母集合,要构成回文串,其要求是: