CF1682C.LIS or Reverse LIS?

普及/提高-

通过率:0%

时间限制:1.00s

内存限制:256MB

AC君温馨提醒

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

题目描述

You are given an array aa of nn positive integers.

Let LIS(a)\text{LIS}(a) denote the length of longest strictly increasing subsequence of aa. For example,

  • LIS([2,1‾,1,3‾])\text{LIS}([2, \underline{1}, 1, \underline{3}]) = 22.
  • LIS([3‾,5‾,10‾,20‾])\text{LIS}([\underline{3}, \underline{5}, \underline{10}, \underline{20}]) = 44.
  • LIS([3,1‾,2‾,4‾])\text{LIS}([3, \underline{1}, \underline{2}, \underline{4}]) = 33.

We define array a′a' as the array obtained after reversing the array aa i.e. a′=[an,an−1,…,a1]a' = [a_n, a_{n-1}, \ldots , a_1].

The beauty of array aa is defined as min(LIS(a),LIS(a′))min(\text{LIS}(a),\text{LIS}(a')).

Your task is to determine the maximum possible beauty of the array aa if you can rearrange the array aa arbitrarily.

给你一个包含 nn 个正整数的数组 aa。

记 LIS(a)\text{LIS}(a) 为数组 aa 的最长严格递增子序列(longest strictly increasing subsequence)的长度。例如:

  • LIS([2,1‾,1,3‾])\text{LIS}([2, \underline{1}, 1, \underline{3}]) = 22。
  • LIS([3‾,5‾,10‾,20‾])\text{LIS}([\underline{3}, \underline{5}, \underline{10}, \underline{20}]) = 44。
  • LIS([3,1‾,2‾,4‾])\text{LIS}([3, \underline{1}, \underline{2}, \underline{4}]) = 33。

我们定义数组 a′a' 为将数组 aa 反转后得到的数组,即 a′=[an,an−1,…,a1]a' = [a_n, a_{n-1}, \ldots , a_1]。

数组 aa 的优美度(beauty)定义为 min⁡(LIS(a),LIS(a′))\min(\text{LIS}(a),\text{LIS}(a'))。

你的任务是:在可以任意重排数组 aa 的前提下,求出其优美度的最大可能值。

输入格式

The input consists of multiple test cases. The first line contains a single integer tt (1≤t≤104)(1 \leq t \leq 10^4) — the number of test cases. Description of the test cases follows.

The first line of each test case contains a single integer nn (1≤n≤2⋅105)(1 \leq n \leq 2\cdot 10^5) — the length of array aa.

The second line of each test case contains nn integers a1,a2,…,ana_1,a_2, \ldots ,a_n (1≤ai≤109)(1 \leq a_i \leq 10^9) — the elements of the array aa.

It is guaranteed that the sum of nn over all test cases does not exceed 2⋅1052\cdot 10^5.

输入包含多个测试用例。第一行包含一个整数 tt (1≤t≤104)(1 \leq t \leq 10^4) —— 测试用例的数量。随后是各测试用例的描述。

每个测试用例的第一行包含一个整数 nn (1≤n≤2⋅105)(1 \leq n \leq 2\cdot 10^5) —— 数组 aa 的长度。

每个测试用例的第二行包含 nn 个整数 a1,a2,…,ana_1,a_2, \ldots ,a_n (1≤ai≤109)(1 \leq a_i \leq 10^9) —— 数组 aa 的元素。

保证所有测试用例中 nn 的总和不超过 2⋅1052\cdot 10^5。

输出格式

For each test case, output a single integer — the maximum possible beauty of aa after rearranging its elements arbitrarily.

对于每个测试用例,输出一个整数——即在任意重排数组 aa 的元素后所能得到的最大可能的美观度。

输入输出样例

  • 输入#1

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

    输出#1

    1
    3
    2

说明/提示

In the first test case, aa = [6,6,6][6, 6, 6] and a′a' = [6,6,6][6, 6, 6]. LIS(a)=LIS(a′)\text{LIS}(a) = \text{LIS}(a') = 11. Hence the beauty is min(1,1)=1min(1, 1) = 1.

In the second test case, aa can be rearranged to [2,5,4,5,4,2][2, 5, 4, 5, 4, 2]. Then a′a' = [2,4,5,4,5,2][2, 4, 5, 4, 5, 2]. LIS(a)=LIS(a′)=3\text{LIS}(a) = \text{LIS}(a') = 3. Hence the beauty is 33 and it can be shown that this is the maximum possible beauty.

In the third test case, aa can be rearranged to [1,2,3,2][1, 2, 3, 2]. Then a′a' = [2,3,2,1][2, 3, 2, 1]. LIS(a)=3\text{LIS}(a) = 3, LIS(a′)=2\text{LIS}(a') = 2. Hence the beauty is min(3,2)=2min(3, 2) = 2 and it can be shown that 22 is the maximum possible beauty.

在第一个测试用例中,a=[6,6,6]a = [6, 6, 6],a′=[6,6,6]a' = [6, 6, 6]。LIS(a)=LIS(a′)=1\text{LIS}(a) = \text{LIS}(a') = 1。因此美观度为 min⁡(1,1)=1\min(1, 1) = 1。

在第二个测试用例中,aa 可重排为 [2,5,4,5,4,2][2, 5, 4, 5, 4, 2],此时 a′=[2,4,5,4,5,2]a' = [2, 4, 5, 4, 5, 2]。LIS(a)=LIS(a′)=3\text{LIS}(a) = \text{LIS}(a') = 3。因此美观度为 33,且可以证明这是可能的最大美观度。

在第三个测试用例中,aa 可重排为 [1,2,3,2][1, 2, 3, 2],此时 a′=[2,3,2,1]a' = [2, 3, 2, 1]。LIS(a)=3\text{LIS}(a) = 3,LIS(a′)=2\text{LIS}(a') = 2。因此美观度为 min⁡(3,2)=2\min(3, 2) = 2,且可以证明 22 是可能的最大美观度。

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

首页