首页 > 其他 > 详细

Hitachi Programming Contest 2020 E Odd Sum Rectangle

时间:2020-04-08 16:58:54      阅读:51      评论:0      收藏:0      [点我收藏+]

当自己改题的时候发现场上猜的一个结论二维差分一下就是正解的时候非常崩溃 TAT


先把原来的矩阵 \(a_{i,j}\) 拓展成 $2N$ 行 $2M$ 列,其中第 $0$ 行和第 $0$ 列的数全部都是 $0$,然后对其二维前缀和得到矩阵 \(b_{i,j}\)

先考虑答案上界,枚举 $0 \leq i < j < 2^N$,设 \(c_k = b_{i,k}\ \mathrm{xor}\ b_{j,k}\),那么所有上边界在 \(i+1\) 行、下边界在 \(j\) 行的奇矩阵数量是 \((\sum\limits_{p=0}^{2^M-1} [c_p = 0]) \times (\sum\limits_{p=0}^{2^M-1} [c_p = 1]) \leq \frac{2^{2M}}{4}\),故一个答案上界是 \(\frac{2^N(2^N-1)}{2} \times \frac{2^{2M}}{4}\)

看到矩阵大小是二的整数幂果断地往位运算上考虑,接下来给出一个构造:\(b_{i,j} = \mathrm{popcount}(i\ \mathrm{and}\ j) \bmod 2\) 并证明其能达到答案上界。


先考虑 \(N=M\) 的情况,此时答案上界是 \(\frac{8^N(2^N-1)}{8}\)

左上边界为 \((i+1,k+1)\)、右下边界为 \((j,l)\) 的矩形的奇偶性为 \(b_{i,k} \ \mathrm{xor}\ b_{i,l}\ \mathrm{xor}\ b_{j,k}\ \mathrm{xor}\ b_{j,l}\)。因为两个数的异或的 \(\mathrm{popcount}\) 的奇偶性和两个数的 \(\mathrm{popcount}\) 的和的奇偶性是相同的,故其等价于 \(\mathrm{popcount}((i\ \mathrm{and}\ k)\ \mathrm{xor}\ (i\ \mathrm{and}\ l)\ \mathrm{xor}\ (j\ \mathrm{and}\ k)\ \mathrm{xor}\ (j\ \mathrm{and}\ l)) \bmod 2\)

先忽略 \(i < j,k < l\) 的限制,因为答案为 $1$ 时 \(i \neq j,k \neq l\),所以只需要将忽略该条件之后的计算结果除 $4$ 即可得到有这个限制时的答案。

全部都是位运算,按位考虑。每一位 \(i,j,k,l\) 都有 $0/1$ 两种选择,其中只有 \(i,j\) 在这一位恰有一个为 $1$、\(k,l\) 在这一位恰有一个为 $1$ 时 \((i\ \mathrm{and}\ k)\ \mathrm{xor}\ (i\ \mathrm{and}\ l)\ \mathrm{xor}\ (j\ \mathrm{and}\ k)\ \mathrm{xor}\ (j\ \mathrm{and}\ l)\) 在这一位的值为 $1$,否则为 $0$,故使这位为 $1$ 的方案有 $4$ 种。

现在可以看作这样的问题:有 \(N\) 位,每位取 $1$ 有 $4$ 的贡献、取 $0$ 有 $12$ 的贡献,问所有方案中 位数之和为奇数的方案的 所有位的贡献乘积 的和。

枚举有多少位取到 $1$,可得 \(ans = \sum\limits_{i=0}^N [2 \nmid i] \binom{N}{i} 4^i 12^{N-i}\)。注意到 \([2 \nmid i] = \frac{1-(-1)^i}{2}\),代入可得

\(\begin{align*} ans &= \sum\limits_{i=0}^N \frac{1-(-1)^i}{2} \binom{N}{i} 4^i 12^{N-i} \\ &= \frac{\sum\limits_{i=0}^N\binom{N}{i} 4^i12^{N-i} - \sum\limits_{i=0}^N\binom{N}{i} (-4)^i12^{N-i}}{2} \\ &= \frac{16^N-8^N}{2} = \frac{8^N(2^N-1)}{2} \end{align*}\)

不要忘了中间忽略了一个限制,答案要乘上 \(\frac{1}{4}\),所以答案为 \(\frac{8^N(2^N-1)}{8}\) 恰为上界。


\(N \neq M\) 时不妨假设 \(N < M\)。此时在上面的证明中 \(k,l\) 两个数还有 \(M-N\) 位没有填入,而 \(i,j < 2^N\) 所以这 \(M-N\) 位如何填入不会影响对应矩阵的奇偶性。所以答案就是 \(\frac{8^N(2^N-1)}{8}\times 4^{M-N} = \frac{2^N(2^N-1)}{2} \times \frac{2^{2M}}{4}\) 与上界一致。QED

故构造 \(b_{i,j}\) 后二维差分即可得到答案。

Hitachi Programming Contest 2020 E Odd Sum Rectangle

原文:https://www.cnblogs.com/Itst/p/12660534.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!