CodeForces 741 D. Arpa’s letter-marked tree and Mehrdad’s Dokhtar-kosh paths

题目传送门:CF741D Arpa’s letter-marked tree and Mehrdad’s Dokhtar-kosh paths


Statement:

给定\(n\)个节点的树,每条边的权值为\(a\)-\(v\)的字符。求最长路径满足路径上边的字符重排后能形成回文串。

\(n\leq 500000\)


Solution

首先回文串先转化成至多有一种字符的数量为奇数。

接下来考虑Dsu on Tree。因为\(|\sum|=22\),考虑对字符出现次数的奇偶性进行状压。注意保证两点的\(lca\)为当前子树的根,不然贡献不好计算。时间复杂度为\(\mathcal O(|\sum|N\log_2N)\)

code

posted @ 2021-07-22 17:39  Beginner2670  阅读(50)  评论(0)    收藏  举报