《推销员》【NOIP 2015】 结论证明 贪心 线段树

题目链接:《推销员》【NOIP 2015】

令第i家住户为Vi。令当X=i时,使总疲劳度最大的情况下推销的i个住户集合为Ui,最大疲劳度为Wi.

证明命题:i[1,N1],UiUi+1.


.i=1时:

假设U1U2,不妨设{V1}=U1,{V2,V3}=U2,S2<S3.

1,S1>S2(如图1)

《推销员》【NOIP 2015】 结论证明 贪心 线段树

W1=2S1+A1,

W2=2S3+A3+A2.

由于W1为当X=1时最大疲劳度,因此有2S1+A1>2S3+A3,则

W2=2S3+A3+A2<2S1+A1+S2.

对应的实际情景是,在X=2时,选择V2,V3推销的疲劳度没有选择V1,V2的疲劳度大,则选择V2,V3推销不能使疲劳度最大,即

V3U2

又由V3选取的任意性可得,i(S2<Si,i1),ViU2,因此${\rm{Ⅰ}}中假设不成立,且有

V1U2,U1U2

2,S1<S2<S3(如图2)

《推销员》【NOIP 2015】 结论证明 贪心 线段树

假设A1>A2,则有

W2=2S3+A2+A3<2S3+A1+A3.

此时选择V1,V3的疲劳度大于选择V2,V3的疲劳度,因此V1U2,V2U2,与 2^\circ $中假设不成立,即

A1<A2.

又由于S1<S2,因此有

W1=2S1+A1<2S2+A2.

因此V1U1,V2U1,有

U1U2

中假设自相矛盾。

综上,当i=1时,UiUi+1,即U1U2


.假设当i<k(k[2,N])时命题成立,则当i=k时:

假设UiUi+1,不妨设{V1,V2,V3,,Vk}=Ui,{V1,V2,V3,,Vk+1}=Ui+1,Sk<Sk1<<S2<S1,Sk+1<Sk<<S2<S1.

1,S1>S1(如图3)

《推销员》【NOIP 2015】 结论证明 贪心 线段树

根据上述证明可得:A1,A2,,Ak一定是在V1左侧的最大的k个,即

i(i[2,k]),Ai<Minj[2,k]{Aj}.

Vx,S1<Sx<S1,Ax>A1,则VxUk,V1Uk,矛盾。(其对应的实际情景为,当X=k时,选择V1推销不如选择Vx推销。)

因此,A1,A2,,Ak一定都在Uk+1中,即UkUk+1

2,S1<Sk(如图4)

《推销员》【NOIP 2015】 结论证明 贪心 线段树

由于当i<k(k[2,N])时命题成立,则

i[1,k],ViU1.

W1=2S1+A1+j=2k+1Aj<2Si+Ai+j=2k+1Aj

因此,V1Uk+1,ViUk+1,该种情况不成立。

3,Sp+1<S1<Sp(p[1,k1])(如图5)

《推销员》【NOIP 2015】 结论证明 贪心 线段树

由上述证明可得,Vp+1,Vp+2,,VkV1左边最大的若干个,因此一定有Vp+1,Vp+2,,VkUk+1

只考虑Vp,Vp+1,,V1,该种情况等价于当X=p时的情况.,2,不成立。


根据以及第二数学归纳法可知,原命题成立,即i[1,N1],UiUi+1.