「LOJ 2269」「SDOI2017」切树游戏
题意
你有一棵\(n\)个点的树,点\(y\)有一个\([0,m)\)内的整数权值\(a_u\)
定义一棵树的权值是点权的异或和
有\(q\)次操作
Change x y
,表示把第\(x\)个点的权值改成\(y\)Query x
,表示询问有多少个非空的联通子树的权值是\(x\),模\(10007\)
\(n,q\le30000,m\le128\)
你有一棵\(n\)个点的树,点\(y\)有一个\([0,m)\)内的整数权值\(a_u\)
定义一棵树的权值是点权的异或和
有\(q\)次操作
Change x y
,表示把第\(x\)个点的权值改成\(y\)
Query x
,表示询问有多少个非空的联通子树的权值是\(x\),模\(10007\)
\(n,q\le30000,m\le128\)
在有些dp中,转移可以用一种具有结合律的变换描述,并且可以快速合并
因此我们使用数据结构维护,来支持修改并快速得到全局或某个子结构的dp值