P6018 [Ynoi2010] Fusion tree

大意是树上每个点有一个权值,需要你维护三种操作:
1 x : 给距离x为1的所有的点+1
2 x y: x点值-y
3 x:查询所有距离x点=1的所有值的异或和
一道非常经典的题目,用到了两个非常经典的套路:
1.从低到高建立01Trie来维护每个点的+1操作和所有点的异或和
2.分别单独维护儿子和父亲

丢个比较清晰的代码在这里,时间不早了,等到下次想起来再继续写。

https://www.luogu.com.cn/paste/s3le33am

你可能感兴趣的:(数据结构,字典树)