/** * *----------AC be here!----------/ *    ┏┓   ┏┓ *   ┏┛┻━━━┛┻┓ *   ┃       ┃ *   ┃   ━   ┃ *   ┃ ┳┛ ┗┳ ┃ *   ┃       ┃ *   ┃   ┻   ┃ *   ┃       ┃ *   ┗━┓   ┏━┛ *     ┃   ┃神兽保佑 *     ┃   ┃代码无BUG! *     ┃   ┗━━━┓ *     ┃       ┣┓ *     ┃       ┏┛ *     ┗┓┓┏━┳┓┏┛ *      ┃┫┫ ┃┫┫ *      ┗┻┛ ┗┻┛ * ━━━━━━神兽出没━━━━━━by:刺猬他想被拥抱 */ #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include using namespace std; #define fi first #define se second #define clr(a, b) memset(a, b, sizeof(a)) typedef long long ll; typedef double db; typedef pair Pii; typedef pair Pdd; const db PI = acos(-1.0); const int inf = 0x3f3f3f3f; const int mod = 1e9 + 7; const int maxn = 1e5 + 10; //freopen("test.in", "r", stdin); //freopen("test.out", "r", stdout); //std::ios::sync_with_stdio(false); int T, n; ll a[maxn]; int main() { scanf("%d", &T); while(T--) { scanf("%d", &n); for(int i = 0; i < n; i++) { scanf("%lld", &a[i]); } ll ans = 0; set s; for(int i = 0; i < n; i++) { if(s.count(a[i]) == 0) { s.insert(a[i]); } else { ans++; s.clear(); s.insert(a[i]); } } printf("%lld\n", ans + 1); } return 0; }