建出 Trie(这个题字符集较大,直接建空间很大,但是可以排序后类似建虚树的方法只考虑叶子之间的 LCA),那么一个前缀可以覆盖一个子树(前缀非空,所以不能是根的子树),所以先把要覆盖的叶子放进去,然后如果一个点的所有孩子都被覆盖,那么改成覆盖它可以减少次数。
加点的时候不断往父亲跳然后检查即可。时间复杂度 $O(nL)$。
Type: Editorial
Status: Open
Posted by: jiangly
Posted at: 2025-12-14 06:52:36
Last updated: 2025-12-14 06:52:39
建出 Trie(这个题字符集较大,直接建空间很大,但是可以排序后类似建虚树的方法只考虑叶子之间的 LCA),那么一个前缀可以覆盖一个子树(前缀非空,所以不能是根的子树),所以先把要覆盖的叶子放进去,然后如果一个点的所有孩子都被覆盖,那么改成覆盖它可以减少次数。
加点的时候不断往父亲跳然后检查即可。时间复杂度 $O(nL)$。