给你一个字符串$s$。可以将一段$110$变成$011$,或者$011$变成$110$。问是否能从$s[l,l+len-1]\rightarrow s[r,r+len-1]$
对于一个区间需要注意
- 01数目相同
- 通过变换$0$的奇偶不会发生变换,$0$的顺序也不会发生变换。也就是说如果之前变换为$0(奇),0(偶),0(奇),0(偶)$,之后还是$0(奇),0(偶),0(奇),0(偶)$。显然可以用$hash$维护,把奇的$0$和偶的$0$分别设置不同互质的数。
- 发现如果$l\&1$,会$0$的奇偶会倒置。那么我们只需要维护两种$hash$。
代码
1 |
|