分级

再提供一种证明方法,画的图跟Y总一样

那个红框框里面,我们任选一个点,比如中间那个点,设为\(b[i]\),我们将其向靠近\(a[i]\)移动(不妨设为向上),在移动过程中,有可能会导致后面一些比\(b[i]\)大的\(b\)跟着往上面移动,然后改变和值,当整体往上移动会导致和值变大时,我们将整体往下移动就会导致和值变小

在向下移动的过程中同理,一个更大的整体可以会在移动一步之后让和值变大,这个时候我们在让这个更大的整体向上移动

然后我们一直这么向上向下移动,由于粉色框框里面的\(b\)是有限的,最后的一个整体肯定要么往上移动会更优,要么往下移动会更优(也有可能和值不变),无论怎么样都可以让\(b\)全部变成\(a\)的某一个元素

update 2024.6.25

如果要进行滚动数组优化

posted @ 2024-01-18 17:38  最爱丁珰  阅读(14)  评论(0编辑  收藏  举报