他的证明应该是有问题的.所以我特意写下这篇讨论避免后续的读者被其误导.
他证明了不能走回头路,但是按照它这种证明方式实际上就是可以走回头路的.考虑1 5 4 6 3 2 7这样的序列,假设我们的i在5这个位置,k1的位置,j在7的位置,显然要回到1最后到7更优.所以根本就不能这么证明,正确的证明方式应该得出如果i想要往回跳到k,再从k跳到j这样是最优的,那么我们在pos位置(pos能跳到i和k的时候)就可以直接跳到k而不是跳到i这个点.假设pos不能直接跳到k,也就是说pos跳到i的花费小于pos跳到k的花费,此时假设a[pos]>a[k]>a[i],那么对于i的下一个目标来说,如果它作为区间最大值,那么i更为优秀(因为i比k值小,k想跳到下一个目标必须经过i);如果它作为区间最小值,那么pos显然更为优秀,因为它是全局最大值.所以此时无论如何都不会轮到k(都与最初的走回头路矛盾).(注意上述的证明也不是非常严谨,我偷懒了,只是举了其中的一个例子,但是事实上如果想要完整证明只要照着上述例子的证明方式进行分类讨论即可)