#2070 不等

传送门


考虑一个比较好的构造是 \(w_i=\text{popcount}(i)\bmod 2\)。此时任意相邻数均不相同。但很可惜 \(0\)\(1\) 数量一样。

我们考虑在这个基础上再找一个函数 \(h_i\),满足 \(0\)\(1\) 的数量不同,并取其异或 \(w\oplus h\),则此时目标变为最大化 \(h_i\) 中相邻数间相同的对数。

考虑题目中给出了 \(\sqrt n\),我们可以考虑分块。

我们将 \(n\) 个二进制位分为 \(\sqrt n\) 块,若 \(x\) 包含其中其中至少一块,则 \(h_i=1\)

  • 对于 \(h_i=1\),当且仅当其恰好包含一块时有 \(\sqrt n\) 个位置使其变为 \(0\)
  • 对于 \(h_i=0\),至多有 \(\sqrt n\) 个位置使其变为 \(1\)

因此其为一合法构造。


另外一个比较神奇的构造是 \(w_i=\text{popcount}(i+1)\bmod 2\),这个构造可以做到 \(\lfloor \dfrac {n+2}2\rfloor\)

posted @ 2026-07-28 15:45  CuteNess  阅读(19)  评论(0)    收藏  举报