看了题解,豁然开朗
T 的字符集为 1 时是最优的,因此答案为 26 个字符出现次数的最小值。
证明:字符集为 1 时可以使得 LCS 为 26 个字符出现次数的最小值
而对于任意一个串,它和原串的 LCS 至少为 26 个字符出现次数的最小值
否则,假设每个字符出现次数都小于 26 个字符出现次数的最小值,那么串长一定 <n,与题意不符
#include<bits/stdc++.h>
using namespace std;
char s[1000002];
int sum[128],i,ans;
int main(){
scanf("%s",s);
for (i=0;s[i];i++) sum[s[i]]++;
ans=1e9;
for (i='a';i<='z';i++) ans=min(ans,sum[i]);
printf("%d",ans);
}