还请大佬指教orz
我的思路跟高赞题解的不同,欢迎探讨。(参考自2014年北京高考理科数学第20题)
我们可以尝试用数学归纳法证明贪心策略。
当n=2时,假设现有两个数对数列P(a,b)(c,d)和P′(c,d)(a,b)。
T1(P)=a+b,T2(P)=max(a+b,a+c)+d=a+d+max(b,c)
T1(P′)=c+d,T2(P′)=max(c+a,c+d)+b
当min=a时,T2(P′)=c+d+b。因为有a≤max(b,c),所以T2(P)≤T2(p′);
当min=d时,T2(P′)=c+a+b。因为有d≤max(b,c),所以此时有T2(P)≤T2(p′)。
综上,n=2时贪心策略成立。n>2时,因为满足局部最优子结构的性质,由数学归纳法得到贪心策略是正确的。
以上说明了min(ai,bj)严格小于min(bi,aj)的情况。对于相等的情况,我们怎么处理?事实上,我们有ai<aj。考虑讨论min的取值:
1.如果min取值在a,那么显然成立,符合贪心策略意图。
2.如果min取值在b,那么考虑这个式子:max(∑a+ai,c)。现然我们要让这个式子尽量取值小,把较小的a放到前面是比把较大的a放到前面是更优的。
综上,ai<aj成立。