AT_abc397_f.[ABC397F] Variety Split Hard

提高+/省选-

通过率:0%

AC君温馨提醒

该题目为【atcoder】题库的题目,您提交的代码将被提交至atcoder进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。

题目描述

本题是 C 题的强化版,分割个数变为 33 个。

给定一个长度为 NN 的整数序列 A=(A1,A2,…,AN)A = (A_1, A_2, \ldots, A_N)。

当在 AA 的两个位置将其分割为 33 个非空的连续子序列时,求这三个子序列中不同整数的种类数之和的最大可能值。

更严格地说,对于满足 1≤i<j≤N−11 \leq i < j \leq N-1 的整数对 (i,j)(i, j),分别计算子序列 (A1,A2,…,Ai)(A_1, A_2, \ldots, A_i)、(Ai+1,Ai+2,…,Aj)(A_{i+1}, A_{i+2}, \ldots, A_j) 和 (Aj+1,Aj+2,…,AN)(A_{j+1}, A_{j+2}, \ldots, A_N) 中不同整数的种类数之和,并求这些和的最大值。

输入格式

输入通过标准输入给出,格式如下:

NN
A1A_1 A2A_2 …\ldots ANA_N

输出格式

输出答案。

输入输出样例

  • 输入#1

    5
    3 1 4 1 5

    输出#1

    5
  • 输入#2

    10
    2 5 6 4 4 1 1 3 1 4

    输出#2

    9

说明/提示

约束条件

  • 3≤N≤3×1053 \leq N \leq 3 \times 10^5
  • 1≤Ai≤N1 \leq A_i \leq N (1≤i≤N1 \leq i \leq N)
  • 输入均为整数

样例解释 1

当 (i,j)=(2,4)(i, j) = (2, 4) 时,分割为 (3,1)(3, 1)、(4,1)(4, 1) 和 (5)(5) 这三个连续子序列,各自的种类数分别为 2,2,12, 2, 1,和为 55。由于无法得到比 55 更大的值,因此答案是 55。其他如 (i,j)=(1,3)(i, j) = (1, 3)、(2,3)(2, 3)、(3,4)(3, 4) 等情况也能得到和为 55。

翻译由 DeepSeek R1 完成

输入解题思路,AI测评打分。不知道怎么写?

首页