%I#6 2019年11月11日21:38:04
%S 1,2,3,2,2,3,4,5,5,6,5,3,44,4,2,3,3,3,1,4,3,5,4,4,1,3,3,
%温度4,5,4,5,1,5,3,4,4,6,5,6,6,4,3,3,4],4,2,3,4,1,4,8,5,5,6,7,6,4,
%U 5,5,3,4,4,5,6,5,6,5,4,5,6,5,6,5,6,5,6,7,6,5,6
%N A000002的反向前N项的Lyndon因式分解的长度。
%我们将两个或多个有限序列的Lyndon积定义为通过将序列混合在一起可以获得的字典序最大序列。例如,(231)与(213)的Lyndon乘积为(232131),(221)与(213)的乘积为(222131),(122)与(2121)的乘积为(2122121)。Lyndon词是相对于Lyndon乘积为素数的有限序列。等价地,Lyndon单词是严格小于其所有循环旋转的有限序列。每个有限序列对Lyndon单词都有一个唯一的(无序)因子分解,如果这些因子按字典序递减排列,那么它们的串联等于它们的Lyndon乘积。例如,(1001)对Lyndon因式分解(001)(1)进行了排序。
%e A000002的反向初始项的Lyndon因子分解序列开始于:
%e 1:(1)
%e 2:(2)(1)
%e三:(二)(二)
%e 4:(122)(1)
%e 5:(1122)(1)
%e 6:(2)(1122)(1)
%e 7:(12)(1122)(1)
%e 8:(2)(12)(1122)(1)
%e 9:(2)(2),(12)(1122)(1)
%e 10:(122)(12)(1122)(1)
%e 11:(2)(122)(12)(1122)(1)
%e 12:(2)(2),(122)(12)(1122)(1)
%e 13:(122)(122),(12)(1122)(1)
%e 14:(112212212)(1122)(1)
%e 15:(2)(112212212)(1122)(1)
%e 16:(12)(112212212)(1122)(1)
%e 17:(1121122122121122)(1)
%e 18:(2)(1121122122121122)(1)
%e 19:(2)(2),(1121122122121122)(1)
%e 20:(122)(1121122122121122)(1)
%e例如,A000002的反向前13项是(1221221211221),Lyndon因式分解(122)(122),(12)(1122)(1),因此a(13)=5。
%t lynQ[q_]:=数组[Union[{q,RotateRight[q,#]}]=={q,旋转右[q,#]}&,长度[q]-1,1,And];
%t lynfac[q_]:=如果[Length[q]==0,{},函数[i,前缀[lynfac[Drop[q,i]],Take[q,i]][Last[Select[Range[Length[q]],lynQ[Take[q,#]]&]]];
%t kolagow[q_]:=如果[Length[q]<2,Take[{1,2},Length[q]+1],Append[q,Switch[{q[[Length[Split[q]]],q[[-2]],Last[q]},{1,1,1},0,{1,1,2},1,{1,2,1},2,{1,2,2},0,{2,1,1},2,{2,1,2},2,{2,2,2,1},1,{2,2,2,2},1]]]
%t kol[n_Integer]:=嵌套[kolagrow,{1},n-1];
%t表[Length[lynfac[Reverse[kol[n]]],{n,100}]
%A329316的Y行长度。
%Y非反向版本为A329315。
%Y参见A000002、A000031、A001037、A027375、A059966、A060223、A088568、A102659、A211100、A288605、A296372、A296658、A329314、A329325。
%K nonn公司
%O 1、2
%A _Gus Wiseman_,2019年11月11日
|