众数
Problem Description
有一个长度为 n 的整数序列 a1,a2,⋯,an,序列中每个元素 ai 都在 1∼n 中等概率随机生成。
定义一个序列 b1,b2,⋯,bm 的价值 val(b1,b2,⋯,bm) 为其所有连续子序列的最大值的众数(即出现次数最大的数),当有多个众数时选择值最大的众数。
给出 q 次询问,每次询问给定两个整数 l,r,问 val(al,al+1,⋯,ar)。
本题单个测试点内包含多组测试数据。
第一行一个整数 T(1≤T≤3),表示数据组数。
对于每组数据,第一行两个整数 n,q (1≤n,q≤2×105),分别表示序列长度和询问次数。
第二行 n 个整数 a1,a2,⋯,an (1≤ai≤n),表示序列。
接下来 q 行,每行两个整数 li,ri (1≤li≤ri≤n),表示一次询问。
Output
对于每组数据,由于输出很大,假设原来第 i 个询问的答案是 xi,你只需要输出一行一个整数:
i=1⨁qi⋅xi
即 i 和 xi 乘积的异或和即可。
1
5 3
1 2 2 1 3
1 5
2 3
3 5
Sample Output
15
Hint
三次询问的答案分别为 2,2,3。
Source
2024“钉耙编程”中国大学生算法设计超级联赛(1)