首页 > TAG信息列表 > Dokhtar

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处处理就行。先

741D.Arpa’s letter-marked tree and Mehrdad’s Dokhtar-kosh paths(树上启发式合并+状压)

只有22种字符。 一个串满足答案的条件是: 每个字符出现次数都为偶数或者出现次数为奇数的字符仅有一个。 因此我们可以考虑: 用0表示这个字符出现次数为偶数,1表示出现次数为奇数。 而对于一个路径上的字符,我们只需要考虑每个字符的出现次数,这样我们用一个整数就可以表示出所有符合条

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\)。

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

问题描述 Just in case somebody missed it: we have wonderful girls in Arpa’s land. Arpa has a rooted tree (connected acyclic graph) consisting of n vertices. The vertices are numbered 1through n, the vertex 1 is the root. There is a letter written on each edge

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

D - Arpa’s letter-marked tree and Mehrdad’s Dokhtar-kosh paths 思路: 树上启发式合并 从根节点出发到每个位置的每个字符的奇偶性记为每个位置的状态,每次统计一下每个状态的最大深度 为了保证链经过当前节点u,我们先计算每个子树的答案,再更新子树状态对深度的贡献。 代码: #pra

【DSU on tree】【CF741D】Arpa’s letter-marked tree and Mehrdad’s Dokhtar-kosh paths

Description 给定一棵 \(n\) 个节点的树,每条边上有一个字符,字符集大小 \(22\),求每个节点的子树内最长的简单路径使得路径上的字符经过重排后构成回文串。 Limitation \(1~\leq~n~\leq~500000,~\text{字符集}~=~['a',~'v']\) Solution 考虑一条路径能构成回文串当且仅当路径上的字符