UOJ Logo Universal Online Judge

UOJ

#844. 【APIO2023】序列

附件下载 统计

在迷人的 APIO 国,居住一位着年轻智慧的学生 Alice。Alice 对解决能挑战她数学能力的有趣问题有着永不满足的好奇心。一天,她在解决一个神秘的有关长为 $N$ 的序列 (即 $A[0], A[1], \cdots, A[N-1]$ ) 的问题时遇到了困难,她无法抗拒探索答案的诱惑力。

现在,她想要与你分享一些她的发现。不过,为了更好的理解,我们需要给出以下定义:

  • 定义 $W(l, r, x)$ 为 $\sum_{i=l}^{r} \mathbb{I}[A[i]=x]$, 即 $x$ 在 $A[l] \cdots A[r]$ 中的出现次数。
  • 定义一个非空整数序列 $B[0] B[1] \cdots B[k-1]$ 的中位数集合为 $S(\{B[0], B[1] \cdots B[k-1]\})$, 然后 Alice 会展示如何分步计算中位数集合:

首先,将序列 $B[0], B[1], \ldots, B[k-1]$ 按照升序排序,令排好序的序列为 $C[0], C[1], \ldots, C[k-1]_{0}$

然后, $S(\{B[0], B[1] \cdots B[k-1]\})=\left\{C\left[\left\lfloor\frac{k-1}{2}\right]\right], C\left[\left\lceil\frac{k-1}{2}\right\rceil\right]\right\}$ 。

为了能更好的理解 $S$ 的计算,以下为一些例子:

  • $S(\{6,3,5,4,6,2,3\})=\{4\}$.
  • $S(\{4,2,3,1\})=\{2,3\}$
  • $S(\{5,4,2,4\})=\{4\}$.

作为一道具有挑战性的问题, Alice 想对于所有的 $(l, r)(0 \leq l \leq r \leq N-1)$ 找到其价值 $\max _{x \in S(l, r)} W(l, r, x)$ 的最大值。其中 $S(l, r)$ 代表 $A[l] \cdots A[r]$ 导出的中位数集合(正如之前提到的 $S(A[l], \cdots, A[r])$ )。虽然 Alice 已经得到了答案,她需要核对答案的正确性,所以她找到了你,希望你能编程解决问题。

实现细节

你需要实现如下的过程:

int sequence(int N, std:: vector<int> A);
  • $N$ :序列 $A$ 的长度。
  • $A$ : 一个长度为 $N$ 的数组,即输入中提到的序列 $A$ 。
  • 该函数应返回一个整数,代表所有可行 $(l, r)$ 价值的最大值。
  • 这个函数恰好被调用一次。

评测程序示例读取如下格式的输入:

第 $1$ 行: $N$

第 $2$ 行: $A[0] A[1] \cdots A[N-1]$

评测程序示例按照如下的格式打印你的答案:

第 $1$ 行:sequence 的返回值。

样例 #1

样例输入 #1

7
1 2 3 1 2 1 3

样例输出 #1

3

样例 #2

样例输入 #2

9
1 1 2 3 4 3 2 1 1

样例输出 #2

2

样例 #3

样例输入 #3

14
2 6 2 5 3 4 2 1 4 3 5 6 3 2

样例输出 #3

3

提示

例子

样例 1

考虑如下的调用:

sequence(7,{1,2,3,1,2,1,3});

函数应返回 $3$。

在这个样例中, $S(0,5)=\{1,2\}, W(0,5,1)=3 , W(0,5,2)=2$ ,所以 $(0,5)$ 的价值为 3 。

容易验证 $(0,5)$ 在所有合法的 $(l, r)$ 二元组中有着最大的价值。

样例 2

考虑如下的调用:

sequence(9,{1,1,2,3,4,3,2,1,1});

函数应返回 $2$。

样例 3

考虑如下的调用:

sequence(14,{2,6,2,5,3,4,2,1,4,3,5,6,3,2});

函数应返回 $3$。

约束条件

  • $1 \leq N \leq 5 \times 10^{5}$
  • $1 \leq A[i] \leq N$

子任务

  1. (11 分):$N \leq 100$ 。
  2. (17 分):$N \le 2 \times 10^{3}$ 。
  3. (7 分):存在一个 $x$ 满足 $\forall 0 \leq i
  4. (12 分):$A[i] \leq 3$ 。
  5. (13 分):$W(0, N-1, A[i]) \leq 2$ (对于所有满足 $0 \leq i \leq N-1$ 的 $i$ )。
  6. (22 分):$N \leq 8 \times 10^{4}$ 。
  7. (18 分):没有额外限制。