CF1712C.Sort Zero

普及-

通过率:0%

时间限制:1.00s

内存限制:256MB

AC君温馨提醒

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

题目描述

An array is sorted if it has no inversions

A Young Boy

You are given an array of nn positive integers a1,a2,…,ana_1,a_2,\ldots,a_n.

In one operation you do the following:

  1. Choose any integer xx.
  2. For all ii such that ai=xa_i = x, do ai:=0a_i := 0 (assign 00 to aia_i).

Find the minimum number of operations required to sort the array in non-decreasing order.

如果一个数组没有逆序对,则称该数组是已排序的。

一个小男孩

给你一个由 nn 个正整数组成的数组 a1,a2,…,ana_1,a_2,\ldots,a_n。

每次操作你可以执行以下步骤:

  1. 任选一个整数 xx;
  2. 对所有满足 ai=xa_i = x 的下标 ii,令 ai:=0a_i := 0(即将 aia_i 赋值为 00)。

求使该数组变为非递减顺序所需的最少操作次数。

输入格式

Each test contains multiple test cases. The first line contains the number of test cases tt (1≤t≤1041 \le t \le 10^4). Description of the test cases follows.

The first line of each test case contains a single integer nn (1≤n≤1051 \le n \le 10^5).

The second line of each test case contains nn positive integers a1,a2,…,ana_1,a_2,\ldots,a_n (1≤ai≤n1 \le a_i \le n).

It is guaranteed that the sum of nn over all test cases does not exceed 10510^5.

每个测试包含多个测试用例。第一行包含测试用例的数量 tt(1≤t≤1041 \le t \le 10^4)。随后是各测试用例的描述。

每个测试用例的第一行包含一个整数 nn(1≤n≤1051 \le n \le 10^5)。

每个测试用例的第二行包含 nn 个正整数 a1,a2,…,ana_1,a_2,\ldots,a_n(1≤ai≤n1 \le a_i \le n)。

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

输出格式

For each test case print one integer — the minimum number of operations required to sort the array in non-decreasing order.

对于每个测试用例,输出一个整数——将数组按非递减顺序排序所需的最少操作次数。

输入输出样例

  • 输入#1

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

    输出#1

    1
    2
    4
    3
    0

说明/提示

In the first test case, you can choose x=3x = 3 for the operation, the resulting array is [0,0,2][0, 0, 2].

In the second test case, you can choose x=1x = 1 for the first operation and x=3x = 3 for the second operation, the resulting array is [0,0,0,0][0, 0, 0, 0].

在第一个测试用例中,你可以选择 x=3x = 3 执行该操作,得到的数组为 [0,0,2][0, 0, 2]。

在第二个测试用例中,你可以在第一次操作中选择 x=1x = 1,在第二次操作中选择 x=3x = 3,得到的数组为 [0,0,0,0][0, 0, 0, 0]。

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

首页