简单的尺取法……
先找到右边界 然后在已经有了所有字母后减小左边界……
不断优化最短区间就好了~
1 #include2 #include 3 #define M(a,b) memset(a,b,sizeof(a)) 4 char a[200005]; 5 int zimu[205]; 6 int zimu1[205]; 7 bool in[205]; 8 int sum; 9 int main(){10 int n;11 while(~scanf("%d",&n)){12 getchar();13 M(zimu,0);14 M(in,false);15 gets(a);16 sum=0;17 int minx=1000005;18 for(int i=0;i