最高的牛

来严格证明一下

就是证明每一次操作中,中间的牛一定至少有一头牛的身高与两端相等,所以每次都要进行操作

假设这次操作是说\(l\)\(r\)可以互相看见,那么我们准备将\([l+1,r-1]\)的身高减一

从最开始,\([l,r]\)的身高都是相同的。在这次操作之前,由于是不会出现矛盾的,所以只有四种操作会影响这个区间(下面区间都是我们要减一的区间,两端点不是可以互相看到的牛,左端点减一,右端点加一才是可以互相看到的牛)

第一种为\([k,r-1]\),其中\(k≤l\)

第二种为\([l+1,k]\),其中\(k≥r\)

第三种为\([p,q]\),其中\(p≤l,q≥r\)

第四种为\([p,q]\),这个区间就是被包含在\([l+1,r-1]\)中的(并且不能就是\([l+1,r-1]\))。注意到这种区间两年之间一定会隔至少一头牛

这四种区间都不会出现相交

根据数学归纳法,我们只用证当前操作时,中间的牛一定至少有一头牛的身高与两端的某一头相等,前面的操作都已经证明了所以顺序无关紧要了,我们只关心当前的状态,我们不妨先全部操作第四种操作,再操作第三种,最后操作第一种或第二种(注意这两种最多只有一种存在),不难得证

posted @ 2024-04-14 10:07  最爱丁珰  阅读(11)  评论(0编辑  收藏  举报