【数论】二进制拆分问题

Statement

(Problem Index:25Summer-N3)

\(n\in\N+\),求不能被表示成 \(\sum_{i=1}^{n}(-1)^{a_i}2^{b_i}\)\(a,b\) 均为正整数列)的最小正整数。

Inspiration

我们首先写出 \(n\) 小的情况。首先比较重要的就是写成二进制。

  • \(n=1\),答案为 \((11)_2\).
  • \(n=2\),答案为 \((1011)_2\).
  • \(n=3\),至少要有 \(4\)\(1\),枚举可得 \((101011)_2\).

此时我们就可以猜测答案是 \((101010\cdots10101011)_2\),即

\(\boxed{\frac{2^{2n+1}+1}{3}}\)

Solution

基于这个答案,我们证明的大方向应该就是归纳证明.

我们与其思考不能被表示的最小数,不妨考虑每个数对应的最简表示法,设 \(f(M)\)\(M\) 表示需要的最小 \(n\).

很显然可以写出递推式:

  • \(f(2M)=f(M)\)
  • \(f(2M+1)=\min\{f(M),f(M+1)\}+1\)

如设 \(c_n=\frac{2^{2n+1}-1}{3}\)\(d_n=\frac{2^{2n+1}+1}{3}\),那么就有

  • \(f(d_n)=\min\{f(c_n),f(d_{n-1})\}+1\)
  • \(f(c_n)=\min\{f(d_{n-1}),f(c_{n-1})\}+1\)

显然 \(c_0=d_0=1\),归纳就说明了 \(\frac{2^{2n+1}+1}{3}\) 最简表示超过 \(n\) 阶。

下面说明最小性.

平凡情况省略,归纳假设,对 \(n-1\) 成立,下面考虑 \(n\) 的情形:

则对于 \(M\in(-\frac{2^{2n-1}+1}{3},\frac{2^{2n-1}+1}{3})\) 均最简表示均为 \(n-1\) 阶,

则:

  • \(M+2^{2n-1}\) 的阶数不超 \(n\),对应的范围是 \((2^{2n-1}-d_{n-1},d_n)\).
  • \(M+2^{2n-2}\) 的阶数不超 \(n\),对应的范围是 \((\frac{2^{2n-2}-1}{3},2^{2n-2}+d_{n-1})\).

从而得证.

posted @ 2025-08-17 18:23  envyisthecolor  阅读(12)  评论(0)    收藏  举报