题目链接
题意
定义一个序列的$RMQ(u,l,r)$表示的最小值的下标。
称两个长度为$m$的序列$equivvalent$当$l \leq i \leq r,RMQ(u,l,r) = RMQ(v, l, r).$
现在要求找到最大的$p$满足与是$equivalent$的。
思路
贪心
从第一个位置开始往后选,只要这个位置的起作用的范围两个数列是一样的就可以。
单调栈
处理每个位置的作用范围,可以用单调栈搞定。
这题算是单调晗的应用吧。
Code
1 |
|
定义一个序列的$RMQ(u,l,r)$表示的最小值的下标。
称两个长度为$m$的序列$equivvalent$当$l \leq i \leq r,RMQ(u,l,r) = RMQ(v, l, r).$
现在要求找到最大的$p$满足与是$equivalent$的。
从第一个位置开始往后选,只要这个位置的起作用的范围两个数列是一样的就可以。
处理每个位置的作用范围,可以用单调栈搞定。
这题算是单调晗的应用吧。
1 | #include<bits/stdc++.h> |