题目链接: https://vijos.org/p/1926 题目大意: 给n个数(n<=100 000),求任意区间的最大值异或次大值的最大值. 题目思路: [模拟][单调栈] 我们维护一个严格单调递减队列,存放当前的数字,初始为前两个数字. 每当加入新的元素时,依次与栈头的元素比较,每次比较更新ans(当作该元素与栈头元素构成的区间解,因为是严格单调递减序列,所以这两个元素是最大和次大的,否则栈头已经被弹出),如果新的元素比栈头元素大,就将栈头元素弹出,重复以上的比较,更新解,弹出栈头操作,…