#include <iostream>
#include <vector>
#include <cstring>
using namespace std;
const int MAXN = 200000;
int last_occurrence[MAXN + 10];
int main() {
ios_base::sync_with_stdio(false);
cin.tie(NULL);
int t;
cin >> t;
while (t--) {
int n;
cin >> n;
vector<int> a(n);
for (int i = 0; i < n; i++) {
cin >> a[i];
}
for (int i = 1; i <= n; i++) {
last_occurrence[i] = -1;
}
for (int i = n - 1; i >= 0; i--) {
if (last_occurrence[a[i]] == -1) {
last_occurrence[a[i]] = i;
}
}
int segments = 0;
int i = 0;
while (i < n) {
int bound = last_occurrence[a[i]];
int j = i;
while (j <= bound) {
if (last_occurrence[a[j]] > bound) {
bound = last_occurrence[a[j]];
}
j++;
}
segments++;
i = bound + 1;
}
cout << segments << '\n';
}
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8dmVjdG9yPgojaW5jbHVkZSA8Y3N0cmluZz4KdXNpbmcgbmFtZXNwYWNlIHN0ZDsKCmNvbnN0IGludCBNQVhOID0gMjAwMDAwOwoKaW50IGxhc3Rfb2NjdXJyZW5jZVtNQVhOICsgMTBdOwoKaW50IG1haW4oKSB7CiAgICBpb3NfYmFzZTo6c3luY193aXRoX3N0ZGlvKGZhbHNlKTsKICAgIGNpbi50aWUoTlVMTCk7CiAgICBpbnQgdDsKICAgIGNpbiA+PiB0OwogICAgd2hpbGUgKHQtLSkgewogICAgICAgIGludCBuOwogICAgICAgIGNpbiA+PiBuOwogICAgICAgIHZlY3RvcjxpbnQ+IGEobik7CiAgICAgICAgZm9yIChpbnQgaSA9IDA7IGkgPCBuOyBpKyspIHsKICAgICAgICAgICAgY2luID4+IGFbaV07CiAgICAgICAgfQogICAgICAgIGZvciAoaW50IGkgPSAxOyBpIDw9IG47IGkrKykgewogICAgICAgICAgICBsYXN0X29jY3VycmVuY2VbaV0gPSAtMTsKICAgICAgICB9CiAgICAgICAgZm9yIChpbnQgaSA9IG4gLSAxOyBpID49IDA7IGktLSkgewogICAgICAgICAgICBpZiAobGFzdF9vY2N1cnJlbmNlW2FbaV1dID09IC0xKSB7CiAgICAgICAgICAgICAgICBsYXN0X29jY3VycmVuY2VbYVtpXV0gPSBpOwogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICBpbnQgc2VnbWVudHMgPSAwOwogICAgICAgIGludCBpID0gMDsKICAgICAgICB3aGlsZSAoaSA8IG4pIHsKICAgICAgICAgICAgaW50IGJvdW5kID0gbGFzdF9vY2N1cnJlbmNlW2FbaV1dOwogICAgICAgICAgICBpbnQgaiA9IGk7CiAgICAgICAgICAgIHdoaWxlIChqIDw9IGJvdW5kKSB7CiAgICAgICAgICAgICAgICBpZiAobGFzdF9vY2N1cnJlbmNlW2Fbal1dID4gYm91bmQpIHsKICAgICAgICAgICAgICAgICAgICBib3VuZCA9IGxhc3Rfb2NjdXJyZW5jZVthW2pdXTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIGorKzsKICAgICAgICAgICAgfQogICAgICAgICAgICBzZWdtZW50cysrOwogICAgICAgICAgICBpID0gYm91bmQgKyAxOwogICAgICAgIH0KICAgICAgICBjb3V0IDw8IHNlZ21lbnRzIDw8ICdcbic7CiAgICB9CiAgICByZXR1cm4gMDsKfQ==
OAo2CjEgMiAyIDMgMSA1CjgKMSAyIDEgMyAyIDEgMyAyCjUKNSA0IDMgMiAxCjEwCjUgOCA3IDUgOCA1IDcgOCAxMCA5CjMKMSAyIDIKOQozIDMgMSA0IDMgMiA0IDEgMgo2CjQgNSA0IDUgNiA0CjgKMSAyIDEgMiAxIDIgMSAyCg==
8
6
1 2 2 3 1 5
8
1 2 1 3 2 1 3 2
5
5 4 3 2 1
10
5 8 7 5 8 5 7 8 10 9
3
1 2 2
9
3 3 1 4 3 2 4 1 2
6
4 5 4 5 6 4
8
1 2 1 2 1 2 1 2