最高的牛

来严格证明一下

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

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

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

第一种为[k,r1],其中kl

第二种为[l+1,k],其中kr

第三种为[p,q],其中pl,qr

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

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

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

posted @   最爱丁珰  阅读(15)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
点击右上角即可分享
微信分享提示