Codeforces 339 D

题意:给定\(2^n​\)个数字,现在把它们进行如下操作:

  • 相邻的两个数取\(or\)
  • 相邻的两个数取\(xor\)
  • 以此类推,直到剩下一个数。

问每次修改一个数字,最后得到的那个数是多少。

SRE实战 互联网时代守护先锋,助力企业售后服务体系运筹帷幄!一键直达领取阿里云限量特价优惠。

思路:线段树。

但是在\(pushup\)的过程中要看当前节点到底层的叶子距离有多长,

如果是奇数就\(or\),否则\(xor\)

单点修改,查询根即可。

扫码关注我们
微信号:SRE实战
拒绝背锅 运筹帷幄