Banner Home Page DIY Contests Problems Ranklist Status Statistics

众数

Time Limit : 20000/10000ms (Java/Other)   Memory Limit : 524288/524288K (Java/Other)
Total Submission(s) : 0   Accepted Submission(s) : 0

Font: Times New Roman | Verdana | Georgia

Font Size:

Problem Description

有一个长度为 $ n $ 的整数序列 $ a_1,a_2,\cdots,a_n $,序列中每个元素 $ a_i $ 都在 $ 1\sim n $ 中**等概率随机**生成。

定义一个序列 $ b_1,b_2,\cdots,b_m $ 的价值 $ \operatorname{val}(b_1,b_2,\cdots,b_m) $ 为其所有连续子序列的最大值的众数(即出现次数最大的数),当有多个众数时选择值最大的众数。

给出 $ q $ 次询问,每次询问给定两个整数 $ l,r $,问 $ \operatorname{val}(a_{l},a_{l+1},\cdots,a_r) $。

Input

本题单个测试点内包含多组测试数据。

第一行一个整数 $ T(1\leq T\leq 3) $,表示数据组数。

对于每组数据,第一行两个整数 $ n,q $ $ (1\leq n,q\leq 2\times 10^5) $,分别表示序列长度和询问次数。

第二行 $ n $ 个整数 $ a_1,a_2,\cdots,a_n $ $ (1\leq a_i\leq n) $,表示序列。

接下来 $ q $ 行,每行两个整数 $ l_i,r_i $ $ (1\leq l_i\leq r_i\leq n) $,表示一次询问。

Output

对于每组数据,由于输出很大,假设原来第 $i$ 个询问的答案是 $x_i$,你只需要输出一行一个整数:
$$
\bigoplus_{i=1}^{q}i\cdot x_i
$$
即 $i$ 和 $x_i$ 乘积的异或和即可。

Sample Input

1
5 3
1 2 2 1 3
1 5
2 3
3 5

Sample Output

15

Hint

三次询问的答案分别为 $2,2,3$。

Source

2024“钉耙编程”中国大学生算法设计超级联赛(1)

Statistic | Submit | Back