有关整点凸包边上点数数量级的证明
来自 U群 Itst 的证明。
钦定点的值域为 \([0,R]\)。首先只考虑右下凸包,即凸包上斜率大于 \(0\) 且严格递增的部分。由于不存在三点共线,所以斜率互不相同。设右下角凸包点数上界为 \(T\),则整个凸包点数上界为 \(4T\)。
将右下凸包上的点按照横坐标排序,记第 \(i\) 个点的坐标为 \((x_i,y_i)\)。
取两个相邻的点 \(u(x_i,y_i),v(x_{i+1},y_{i+1})\),不妨设 \(\scr l_{uv}\) 的斜率为 \(\dfrac{p_i}{q_i}\),这里是一个既约分数。由右下凸包,我们可以得到 \((x_{i+1} + y_{i+1}) - (x_i + y_i) \geq p + q\)。
推广到整个右下凸包上的点,我们可以得到:
又因为有:
接下来需要证明的是分子分母和 前 \(i\) 小的既约分数 的分子分母和超过 \(2 \times R\)。
构造一个下标从 \(1\) 开始的不降自然数序列 \(P\) 使得对于 \(i \geq 1,\dfrac{i \times (i - 1)}{2} < j \leq \dfrac{i \times (i + 1)}{2}\),有 \(P_j = i\)。
记 \(S_i\) 表示 分子分母和 前 \(i\) 小的既约分数 的分子分母和,\(sum_{P_i}\) 为序列 \(P\) 前 \(i\) 项的和,有 \(S_i \geq sum_{P_i}\)。因为要证 \(S_T \geq 2 \times R\),所以只需要证明 \(sum_{P_T} \geq 2 \times R\)。
取 \(t = \lfloor \sqrt{T} \rfloor\),有:
又有:
带入 \(T = 4 \times R^{\frac{2}{3}}\),得到:
故得证命题:坐标范围为 \([0,R]\) 的整点凸包在不存在三点共线的前提下,凸包上的点数为 \(R^{\frac{2}{3}}\) 量级。