如果一个长为 len 的区间,x 出现的次数超过区间长度的 p%,那么把这一个区间拆成任意两个部分 len_1 和 len_2,至少存在一个子区间使得 x 出现的数超过区间长度的 p%。
证明:
考虑最坏的情况,x 在原区间中恰好有 \lceil len\times p \rceil 个,拆到两个部分的 x 分别为 a,b,即需要说明:
\begin{cases}
len=len_1+len_2 \\
a+b=\lceil len\times p \rceil
\end{cases}
\Rightarrow \max(\frac{a}{len_1},\frac{b}{len_2}) \ge p
尝试反证
假设这个结论不成立,那么首先有 \frac{a}{len_1}<p,即 a<len_1\times p
其次有 \frac{b}{len_2}<p,即 \frac{\lceil len\times p \rceil-a}{len-len_1}<p,拆开式子得到 \lceil len\times p \rceil-a < p \times len-p\times len_1,即 p\times len_1-a < p \times len-\lceil len\times p \rceil