P6018 [Ynoi2010] Fusion tree
-
\(lxl\) 说过邻域信息维护父亲一定死,所以数据结构维护每个点的儿子,特判父亲
-
看到异或与全局 \(+1\),可以想到 \(01trie\),于是每个点维护所有儿子值的 \(01 trie\)
-
注意第二个操作要怎么删除?
-
加一个 \(tag_i\) 表示 \(i\) 的儿子需要加上 \(tag\) 里的值才能变成原先的值即可
-
最终复杂度 \(O(n \log A)\)
\(lxl\) 说过邻域信息维护父亲一定死,所以数据结构维护每个点的儿子,特判父亲
看到异或与全局 \(+1\),可以想到 \(01trie\),于是每个点维护所有儿子值的 \(01 trie\)
注意第二个操作要怎么删除?
加一个 \(tag_i\) 表示 \(i\) 的儿子需要加上 \(tag\) 里的值才能变成原先的值即可
最终复杂度 \(O(n \log A)\)