用Sum[i][k]表示从第1头到第i头牛,特征k出现的次数之和。则题目所求就是找到一对i,j,满足Sum[i][1]-Sum[j][1]=Sum[i][2]-Sum[j][2]=Sum[i][3]-Sum[j][3]……=Sum[i][k]-Sum[j][k];稍微变形一下就是要满足:
Sum[i][2]-Sum[i][1]=Sum[j][2]-Sum[j][1];
Sum[i][3]-Sum[i][1]=Sum[j][3]-Sum[j][1];
Sum[i][4]-Sum[i][1]=Sum[j][4]-Sum[j][1];
………………
令A[i][k]=Sum[i][k]-Sum[i][1],求出对于所有k,满足A[i]=A[j]的i,j,取j-i的最大值就是答案。
由于规模比较大,要用Hash表来实现判重功能。