CF1987F2.Interesting Problem (Hard Version)

省选/NOI-

通过率:0%

AC君温馨提醒

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

题目描述

这是该问题的困难版本。两种版本的唯一区别在于 nn 的限制。只有当你同时解决了两个版本的问题时,才能进行 Hack。

给定一个长度为 nn 的整数数组 aa。

每次操作,你需要执行以下两步:

  1. 选择一个下标 ii,满足 1≤i<∣a∣1 \le i < |a| 且 ai=ia_i = i。
  2. 从数组中移除 aia_i 和 ai+1a_{i+1},并将剩余部分拼接起来。

请你求出最多可以执行上述操作多少次。

输入格式

每组测试数据包含多个测试用例。输入的第一行包含一个整数 tt(1≤t≤1001 \le t \le 100),表示测试用例的数量。接下来的每组测试用例描述如下:

每个测试用例的第一行包含一个整数 nn(1≤n≤8001 \le n \le 800),表示数组 aa 的长度。

第二行包含 nn 个整数 a1,a2,…,ana_1, a_2, \ldots, a_n(1≤ai≤n1 \le a_i \le n),表示数组 aa 的元素。

保证所有测试用例中 nn 的总和不超过 800800。

输出格式

对于每个测试用例,输出一个整数,表示最多可以执行操作的次数。

输入输出样例

  • 输入#1

    6
    5
    1 5 3 2 4
    8
    2 1 3 4 5 6 7 8
    3
    1 2 3
    4
    1 2 4 4
    5
    4 4 1 3 5
    1
    1

    输出#1

    2
    3
    1
    2
    0
    0

说明/提示

在第一个测试用例中,一种可能的最优操作序列为 [1,5,3,2,4]→[1,5,4]→[4][1, 5, \color{red}{3}, \color{red}{2}, 4] \rightarrow [\color{red}{1}, \color{red}{5}, 4] \rightarrow [4]。

在第三个测试用例中,一种可能的最优操作序列为 [1,2,3]→[1][1, \color{red}{2}, \color{red}{3}] \rightarrow [1]。

由 ChatGPT 4.1 翻译

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

首页