预期:\(100+100+100+100=400\)。
实际:\(100+15+100+100=315\)。
排名:\(rk25/127\)。
比赛链接:http://oj.daimayuan.top/contest/367。
A - 和除或:
题意:
给定长度为 \(n\) 的序列 \(a\),保证每个 \(a_i\) 至多拥有四个二进制位,你需要求出 \(\displaystyle\sum_{i=1}^n\sum_{j=1}^n\lceil\frac{a_i+a_j}{a_i\operatorname{or}a_j}\rceil\) 的值。
思路:
由于 \(x+y=(x\operatorname{and}y)+(x\operatorname{or}y)\),将其带入得到当 \(a_i\operatorname{and}a_j=0\) 时 \(\lceil\frac{a_i+a_j}{a_i\operatorname{or}a_j}\rceil=1\),否则 \(\lceil\frac{a_i+a_j}{a_i\operatorname{or}a_j}\rceil=2\)。
现在题目转化为求序列中有多少对 \(a_i\operatorname{and}a_j\neq 0\)。
由于每个 \(a_i\) 至多拥有四个二进制位,所以我们可以容斥