CF1969E Unique Array

题目描述

给定一个长为 $n$ 的整数序列 $a$。我们称 $a$ 的一个连续子序列是它的一个子段(即对于每一个满足 $1 \leq l \lt r \leq n$ 的整数 $l,r$,形如 $[a_l,a_{l+1},\cdots a_r]$ 的序列)。我们称一个子段是**独特子段**,当且仅当存在一个整数在这个子段中出现恰好一次。 你可以进行以下操作任意次(可能为零):选择一个序列中的元素并用任意整数替换它。 求最小的能使得序列 $a$ 的每个子段都成为**独特子段**的操作次数。

输入格式

每个测试点包含多组数据。第一行包含一个整数 $t$($1 \leq t \leq 10^4$),表示测试数据组数。 每一组测试数据的第一行包含一个整数 $n$($1 \leq n \leq 3 \cdot 10^5$)。 第二行包含 $n$ 个整数 $a_1,a_2,\cdots,a_n$($1 \leq a_i \leq n$)。 保证所有测试数据的 $n$ 之和不超过 $3 \cdot 10^5$。

输出格式

对于每组测试数据,输出一行一个整数,表示最小的能使得序列 $a$ 的每个子段都成为**独特子段**的操作次数。

说明/提示

对于第二组测试数据,你可以替换第一个和第三个元素,比如:$[3,4,1,4]$。 对于第三组测试数据,你可以替换第四个元素,比如:$[3,1,2,3,2]$。