問題のこのこんにゃく溶液を再びそれを作りました!
この問題への肯定的な解決策は貪欲でなければなりません
直接キートピックへ:
韻は唯一の「AABB」、「ABAB」、「ABBA」と「AAAA」であってもよいです
私たちは、韻を観察し、すべての2つの「A」と2つの「B」ではありません。
「AAAAは「A」および「B」は同一とみなすことができます
だから、シンプルはまだ貪欲ではないでしょうか?
2二つの同一の数字がある場合はANSに表示されます++
コードの場合:
#include<bits/stdc++.h>//万能头
using namespace std;
#define maxn 10010
int n, m, k, a[maxn], f[maxn], c[maxn], x, ans, flag;
int main()
{
scanf("%d", &n);
for(int i = 1; i <= n; ++ i)
{
scanf("%d", &x);//输入
a[i] = c[i] = x;
}
sort(c + 1, c + n + 1);
m = unique(c + 1, c + n + 1) - c;//去重
for(int i = 1; i <= n; ++ i)
{
k = lower_bound(c + 1, c + m + 1, a[i]) - c;
a[i] = k;
}
for(int i = 1; i <= n; ++ i)//求解
{
++ f[a[i]];
if(f[a[i]] == 2)
{
++ flag;
f[a[i]] = 0;
}
if(flag < 2)
continue;
flag = 0;
++ ans;
memset(f, 0, sizeof(f));
}
printf("%d", ans);
return 0;
}