434
社区成员
发帖
与我相关
我的任务
分享用反证法证明“删数问题”的算法满足贪心选择性质:
第一步,假设存在一个最优解,它不包含贪心选择。即存在某个步骤,贪心策略选择的数字不是最优解中删除的数字。
第二步,设原始数字为 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′,那么贪心策略也是最优解的一种,这与我们的假设(最优解不包含贪心选择)矛盾。
第六步,根据反证法,由于我们找到了矛盾,因此原命题成立,即“删数问题”的算法满足贪心选择性质。