Minimum Array

看这篇题解,那个\(b\)就是差分数组

证明一下题解的论断:从差分数组考虑,第一个不为\(0\)的位置在差分数组上的体现就是第一个不为\(0\)的差分数组,而每次修改只会修改\(l\)\(r+1\),如果一个点不是任何\(l\)\(r+1\),那他肯定为\(0\)

想一想set怎么维护:对某个\(l_i\)(或者\(r_i+1\),下文都是这样,就不提了),如果已经在set里面,直接删除。如果最新的\(l_i\)位置的值不为\(0\)就插入进set

然而我却写了线段树+二分。。。复杂度直接多一个log

这种多操作求最值记录最值点的方法可以记住

posted @ 2024-03-18 16:45  最爱丁珰  阅读(2)  评论(0编辑  收藏  举报