Luogu P1012 [NOIP1998 提高组] 拼数 贪心可行性证明

传送门

本文只证明贪心可行性

即为什么按照 $A+B<B+A$ 的比较方式可以排序,其中 $A,B$ 是string类型变量

设该偏序为 $\triangleright $

必须要证明这个定义下$\triangleright $ 的传递性:即如果 $A\triangleright B\triangleright C$ 那么 $A\triangleright C$

证明如下:

首先设 $A,B,C$ 长度相等,$A\triangleright B\triangleright C$(下文中 $AB$ 表示字符串 $A,B$ 首位拼接)

由 $A\triangleright B$ 那么 $AB<BA$  由于 $A,B$ 长度相同,则必定 $\exists i$ 使得 $A[i]<B[i]$ 且对 $\forall j<i$ 有 $A[j]=B[j]$

同理 $\exists p$ 使得 $B[p]<C[p]$ 且对 $\forall q<p$ 有 $B[q]=C[q]$
若 $i<p$ 则 $A[i]<B[i]=C[i]$ 且对 $\forall j<i$ 有 $A[j]=C[j]$ 即 $AC<CA$ 即 $A<C$
若 $i=p$ 则 $A[i]<B[i]<C[p]$ 且对 $\forall j<i$ 有 $A[j]=C[j]$ 即 $AC<CA$ 即 $A<C$
若 $i>p$ 则 $A[p]=B[p]<C[p]$ 且对 $\forall q<p$ 有 $A[q]=C[q]$ 即 $AC<CA$ 即 $A<C$

综上,当 $A,B,C$ 长度相同时,该偏序存在传递性

接下来证明 $\forall A,B$ , $A\triangleright B \Leftrightarrow AA...A\triangleright B$ ,其中 $A,B$ 长度可以不同

先证明 $\Rightarrow $ :

  归纳法,当 $A\triangleright B$ 时,$AB<BA$,$\Rightarrow$ $AAB<ABA$ 且 $ABA<BAA$

  则 $AAB<BAA$;

  由 $AB<BA$ $\Rightarrow$ $AAAB<AABA$

  又 $AAB<BAA$ $\Rightarrow$ $AABA<BAAA$

  则 $AAAB<BAAA$

  如此归纳,可知 $A\triangleright B$ $\Rightarrow$ $AA...A\triangleright B$

  同理可证,$A\triangleright B$ $\Rightarrow$ $A\triangleright BB...B$                        ...<1>

再证明 $\Leftarrow  $:

  反证法,若 $AA...A\triangleright B$ 即 $AA...AB<BA...AA$ 时,如果没有 $A\triangleright B$

  则 $B\triangleright A$ 或者 $AB=BA$

  若 $AB=BA$ ,则 $AA...AB=AA...BA=AA..BAA=...=AB...AA=BA...AA$,矛盾

  接下来只要证 $B\triangleright A$ 时矛盾

  若 $B\triangleright A$ 则 $B\triangleright AA...A$ (由<1>可得)

  则 $BA...AA<AA...AB$,矛盾

综上,$A\triangleright B \Leftrightarrow AA...A\triangleright B$

则 $A\triangleright B \Leftrightarrow AA...A\triangleright BB...B$ ($A,B$重复次数可以不相同)

 

当 $A,B,C$ 长度不同时,对 $A,B,C$ 分别进行适当的延拓变为长度相同的 $xA,yB,zC$ 即可进行比较

若 $A\triangleright B\triangleright C$,则 $xA\triangleright yB\triangleright zC$ 则 $xA\triangleright zC$ 则 $A\triangleright C$

这样,$A\triangleright B\triangleright C$ 可得 $A\triangleright C$,偏序的传递性成立

Q.E.D.

posted @ 2022-07-12 09:14  LLTYYC  阅读(86)  评论(0编辑  收藏  举报