关于莫队处理RMQ问题
  • 板块学术版
  • 楼主Rnfmabj
  • 当前回复11
  • 已保存回复11
  • 发布时间2022/5/7 19:45
  • 上次更新2023/10/28 01:58:16
查看原帖
关于莫队处理RMQ问题
93707
Rnfmabj楼主2022/5/7 19:45

事情是这样。

学考模拟的时候 闲着无聊颅内过算法,然后过到了莫队。

当初初学是看的这篇博客 ,里面的引入是用的区间和问题,在这篇博客的帮助下我很快就理解并学会了莫队算法,在这里膜一发作者 cbdsopa (就不艾特了,免得打扰到)。

过的时候就忽然想到,像线段树这样的数据结构是可以处理区间和以及RMQ的,那么在我心目中最为优雅的暴力莫队算法是不是能解决RMQ呢?

然后我卡住了。莫队似乎无法像解决区间和问题那样轻松处理元素的插入和删除,具体来说是插入容易,删除难——删除的话就要知道删掉之后的最大值,暴力的话这一步是 O(n)O(n) 的。

接着我想到了这道回滚莫队板子 ,然后发现莫队的RMQ应该可以靠不断回滚解决,但总感觉回滚莫队失去了普通莫队那种清新脱俗的码量 挑死吧你 ,常数也大了不少。

然后我又根据前段时间写的这道题想到了对值域分块,发现这样搞比暴力确实快一些,卡满的话单次操作是 O(n)O(\sqrt{n}) 的,但把这个操作代回普通莫队的复杂度那不就是 O(n2)O(n^2) 了吗……

以上是我想到的两种用莫队处理RMQ的方法,但主观觉得都比较劣,想知道有没有比较优秀的办法。

Thanks.

2022/5/7 19:45
加载中...