ICPC2019银川区域赛 E.XOR Tree

博客详细介绍了如何解决ICPC2019银川区域赛中的E.XOR Tree问题。通过变换求和顺序,将问题转化为在二进制位上统计不相同的点对个数,利用树形结构和后缀和技巧进行求解。提供了题解思路和完整的代码实现。
摘要由CSDN通过智能技术生成

链接

点击跳转

题解

假设给定一个序列,怎么计算题目说的那个式子呢?

∑ i = 1 n ∑ j = i + 1 n ( a i ⊕ a j ) 2 = ∑ i = 1 n ∑ j = i + 1 n ( ( a i , 0 ⊕ a j , 0 ) 2 0 + ( a i , 1 ⊕ a j , 1 ) 2 1 + ⋯ + ( a i , 29 ⊕ a j , 29 ) 2 29 ) 2 = ∑ i = 1 n ∑ j = i + 1 n ∑ k 1 = 0 29 ∑ k 2 = 0 29 ( a i , k 1 ⊕ a j , k 1 ) ( a i , k 2 ⊕ a j , k 2 ) 2 k 1 + k 2 \sum_{i=1}^n\sum_{j=i+1}^n (a_i \oplus a_j)^2 \\ = \sum_{i=1}^n \sum_{j=i+1}^n ((a_{i,0}\oplus a_{j,0})2^0 + (a_{i,1}\oplus a_{j,1})2^1 + \dots + (a_{i,29}\oplus a_{j,29})2^{29} )^2 \\ = \sum_{i=1}^n \sum_{j=i+1}^n \sum_{k_1=0}^{29} \sum_{k_2=0}^{29} (a_{i,k_1} \oplus a_{j,k_1}) (a_{i,k_2} \oplus a_{j,k_2})2^{k_1+k_2} i=1nj=i+1n(aiaj)2=i=1nj=i+1n((ai,0aj,0)20+(ai,1aj,1)21++(a

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值