首页 > TAG信息列表 > kosh

CF741D Arpa’s letter-marked tree and Mehrdad’s Dokhtar-kosh paths

题面传送门 这道题是dsu on tree的板子题。 我们考虑如果一个子串状压后1的个数小于等于\(1\)那么就肯定是回文串。 然后两个点之间路径的异或值就是两个点的前缀异或值。 那么直接dsu on tree即可。 dsu on tree的流程大概是先dfs轻子树然后删除贡献,然后dfs重子树保留贡献,然后dfs

CF741D Arpa’s letter-marked tree and Mehrdad’s Dokhtar-kosh paths

II.II.CF741D Arpa’s letter-marked tree and Mehrdad’s Dokhtar-kosh paths 名字真长 假如它没有”在每个子树中最长“的限制,我们倒真可以点分治,然后就是水题了;但是它要求在每个子树中最长,怎么办呢? 直接上dsu on tree就行了。思想还是借鉴点分治,所有点对都在LCA处处理就行。先

CF741D Arpa’s letter-marked tree and Mehrdad’s Dokhtar-kosh paths 树上启发式合并(DSU ON TREE)

题目描述 一棵根为\(1\) 的树,每条边上有一个字符(\(a-v\)共\(22\)种)。 一条简单路径被称为\(Dokhtar-kosh\)当且仅当路径上的字符经过重新排序后可以变成一个回文串。 求每个子树中最长的\(Dokhtar-kosh\)路径的长度。 输入输出样例 输入 #1 4 1 s 2 a 3 s 输出 #1 3 1 1 0 输

[CF741D]Arpa's letter-marked tree and Mehrdad's Dokhtar-kosh paths

题目 传送门 题解 由树启发算法发明者出的题。 涉及回文,那么我们来想一下回文的特性: 最多只有一种字符出现奇数次的一堆字符才会被重新排序成为一个回文串。 所以,这道题我们只需要知道,在某一条链上,有多少字符出现奇数次,而偶数次的字符我们可以忽略。 这有点想什么?是不是二进制中

CF741D Arpa’s letter-marked tree and Mehrdad’s Dokhtar-kosh paths

树上启发式合并(静态链分治)模板题。 首先一个串能重排形成是回文串当且仅当其字符数量最多有一个为奇数。 所以我们对字符集状压,\(0\)表示偶,\(1\)表示奇。 记\(dis_u\)为\(1\)到\(u\)的路径上的字符集。 那么对于点对\(u,v\),其路径上的字符集为\(dis_u\oplus dis_v\)。