计蒜客
先将(S)后再接一个(S),也就是原(S)的任意一个位置都可以作为左端点开始匹配 令(t_0)匹配的位置为(x),则(t_i)匹配的位置是(x+i),(s_{x+i}=(ai+ax+b)~mod~n),然后这样就对(a_x)有限制了 (0equiv mod~2,1equiv mod~2)分开讨论,然后每个限制是一个区间,所有的(i)全部并起来 因为((a,n)=1),所以有唯一位置
再考虑(S)末端有一些位置不够匹配,这部分可以kmp匹配一下减去