反证法证明:
-
假设:
假设存在一个最优解,它不包含贪心选择。即存在某个步骤,贪心策略选择的数字不是最优解中删除的数字。 -
定义:
设原始数字为 N,贪心策略选择的数字为 d(即从左到右第一个较大的数字),而最优解选择的数字为 d′(d′=d)。 -
构造:
假设在最优解中,删除 d′ 后得到的数字为 N′。根据最优解的假设,N′ 是比任何通过贪心策略得到的数字都要小的数字。 -
转换:
现在,我们考虑在 N′ 的基础上,不删除 d′,而是删除贪心策略选择的 d。设这样得到的数字为 N′′。 -
比较:
由于 d 是从左到右第一个较大的数字,删除 d 后得到的 N′′ 应该比删除 d′ 后得到的 N′ 更小(或至少相等)。即 N′′≤N′。 -
推出矛盾:
如果 N′′<N′,那么 N′′ 就是一个比最优解 N′ 更小的数字,这与最优解的定义矛盾。
如果 N′′=N′,那么贪心策略也是最优解的一种,这与我们的假设(最优解不包含贪心选择)矛盾。 -
结论:
由于无论哪种情况都会推出矛盾,所以我们的假设(存在一个最优解,它不包含贪心选择)是错误的。因此,贪心选择性质在“删数问题”中是成立的。