CF1631B

· · 题解

题解思路:

有一个很显然的性质:

最后相同的元素一定是 a_n

所以我们每次要尽可能多的去贴数字到前面。

比如:

## AC CODE: ```cpp #include <iostream> #include <cstring> using namespace std; const int N = 200010; int a[N]; int main() { int T; cin >> T; while (T --) { int n; cin >> n; for (int i = 1; i <= n; ++ i) cin >> a[i]; int p = n - 1 , ans = 0; while (p > 0) { if (a[p] != a[p + 1]) { ans ++; p -= n - p; if (p < 0) break; a[p + 1] = a[n];//把元素复制过来 }else -- p; } cout << ans << endl; } return 0; } ```