POI 2003 CIA sequence without stammers 题解 波兰文翻译


定义1:一个字符串被认为是square-free的,当且仅当它不包含形如xx的子串,其中,x为有限非空字符串。

你很快发现,两个字符(a,b)组成的字母表,在长度大于3时无法构造出square-free的字符串,因为长度为4的字符串总会包括形如aa,bb,baba,abab的子串,所以要构造这样一个square-free的字串,所需字母表元素个数要在3个及以上。挪威数学家Axel Thue证明了存在一个由三个元素的字母表构成的square-free的无限字符串,并给出如何构造的方法。

定义2:一个字符串被认为是cubic-free的,当且仅当不出现形如xxa的字符串,其中x为非空有限字符串,a为x的首字母。{PS:其实与yxyxy形式等价,其中y为任意字符}

显然,一个字符串如果是square-free,很有可能也会是cubic-free的

Thue-Morse 序列

定义3:一个Thue-Morse序列α={Sn},按照如下定义(n从0开始)

Sn={a --n的二进制位1的个数为偶数

b --n的二进制位1的个数为奇数}

因此,我们可以造出一个由两种元素组成的序列α=abbabaabbaabab.....

(PS:其实原始的序列生成是这样的:)

指定a,b是相反的,即a=-b且b=-a

现在对于一些α上的字可以很明显的推出一些结论

推论4:S[2n]=S[n],S[2n+1]=-S[n],由这可以推出如下命题:S[j]=S[j+1]==》j为奇数(注意,不能等价)

同时,我们可以知道,不存在j使得S[j]=S[j+1]=S[j+2]

由此可知{S[2n]}=α  {-S[2n+1]}=α

设P={S[2n]} N={S[2n+1]},即P为α中偶数位,N为α中奇数位


推论5:α中连续5个字母中存在两个连续字母是相同的

证明:若不是这样的,那么,存在两种情况ababa和babab,那么,P或N序列中会有aaa或bbb出现,由推论4可知,这是不可能的,因为P实际上就是α,N实际上为α的反序列。

重要命题6:α序列是cubic-free的,即对于i>=0,j>0(注意没有等号),不存在对于所有的k都满足s[i+k]=s[i+j+k],(0<=k<=j)

{PS:再次注明,cubic-free其实就是yxyxy的形式}

证明:假定存在满足的i,j

    1:由推论4可知,j!=1,由推论5可知,j!=2;

    2:j不能是奇数。假定j为奇数,由推论5可知,若两个连续的相等字母起始位置为q,由1可知j>=3,由假定可知,q+j与q异奇偶,又由推论4,s[j]=s[j+1]==》j为奇数,可知出现矛盾。

    3:由此,j一定为偶数,又假定j为偶数,且j为可行的最小的取值,考虑P或N序列,在s[i]到s[i+2*j]中隔1取出一个字符,那么取出的属于P或N序列,这时由于假定,取出的序列也满足条件,而j变为一半,与最小性冲突。

引理7:存在一个由四个元素字母表构成的square-free的无限字符串β

证明:定义字母表为{[aa],[ab],[ba],[bb]}定义β=d[n]={S[n]S[n+1]}即α中相邻两个连接。若β不是square-free的,那么存在形如xx的字串,即存在j,t使得

d[j]d[j+1]...d[j+t-1]=d[j+t]d[j+t+1]...d[j+2*t-1],等价于s[j]s[j+1]s[j+1]s[j+2]...s[j+t-1]s[j+t]=s[j+t]s[j+t+1]s[j+t+1]s[j+t+2]...s[j+2*t-1]s[j+2*t],此字符串长度为偶数,那么除去重复项,得到s[j]s[j+1]...s[j+t-1]s[j+t]=s[j+t]s[j+t+1]...s[j+2*t]即与结论6冲突。

引理8:若令[aa]=1,[ab]=2,[ba]=3,[bb]=4,则在β中有1若出现则必在3之后在2之前,4若出现必在2之后在3之前。

这是显然的,将其分类手动枚举一下,由于推论4,不会有baaa或abbb的情况出现,所以得证

然后由于4与1不会连续,将1、4用同一字符比如5表示,在β基础上构造字符串γ。

重要命题9:γ是square-free的。

证明:如果γ不是square-free的,那么设某个重复子串yy出现在γ中。由于引理8,y的长度不可能是1,因为22、33不可能出现而55对应β14、41、44、11也是不可能的。

那么,y的长度肯定大于1,由于β是square-free的,所以仅仅由2、3构成的y是不存在的,考虑存在5的y,由于β是square-free的,那么两个连续的y在相同的位置的5不能表示同一字符,那么必须是第一个y中有5表示1,对应第二个y中的5必须表示4,或者反过来,但又由于引理8,出现1时前后为“312”,出现4时前后为“243”,矛盾。

所以此题基本结束,由于n大于等于4时用两个字符的字母表无法构出解,所以使用3个字符的γ字符串即为一组可行解。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值