显示找到的5个结果中的1-5个。
第页1
以10为基数写入的2n个二进制数字的完全平衡序列列表。每个项的二进制展开包含n个0和n个1,并且从左到右读取(从最高有效位到最低有效位),0的数量永远不会超过1的数量。
+10 374
0, 2, 10, 12, 42, 44, 50, 52, 56, 170, 172, 178, 180, 184, 202, 204, 210, 212, 216, 226, 228, 232, 240, 682, 684, 690, 692, 696, 714, 716, 722, 724, 728, 738, 740, 744, 752, 810, 812, 818, 820, 824, 842, 844, 850, 852, 856, 866, 868, 872, 880, 906, 908, 914
评论
这些编码宽度为2n的山脉、n+1个顶点和n个边的有根平面树、n个节点的平面种植树、n+1片叶子的有根的平面二叉树(2n个边、2n+1个点、n个内部节点、包含根)、Dyck单词、二元括号、括号、,加泰罗尼亚语系中的非交叉握手和分隔以及许多其他组合结构,列举如下A000108号.
序列确实从n=0开始,因为在Dyck语言的二进制解释中(例如,括号中“1”代表“(”,“0”代表“)”),如果(0)=0,那么它将代表“0”和“1”平衡的空字符串(因此括号是平衡的)-丹尼尔·福格斯2013年2月17日
参考文献
Donald E.Knuth,《计算机编程的艺术》,第4A卷:组合算法,第1部分,Addison-Wesley,2011年,第7.2.1.6节,第443页(算法P)。
链接
杰森·贝尔、托马斯·芬恩·利德贝特和杰弗里·沙利特,正则语言逼近的加法数理论,arXiv:1804.07996[cs.FL],2018年。
N.G.De Bruijn和B.J.M.Morselt,关于梧桐树的一点注记,J.组合理论2(1967),27-34。
R.K.盖伊,第二强大数定律,数学。Mag,63(1990),第1期,3-20。
Dana G.Korssjoen、Biyao Li、Stefan Steinerberger、Raghavendra Tripathi和Ruimin Zhang,用图论寻找实数序列的结构:一个问题列表,arXiv:2012.04625[math.CO],2020-2021。
例子
a(19)=226_10=11100010_2=A063171号(19) 作为括号表达式:(()))(),作为二叉树,从左到右以深度第一的方式进行,二进制展开中的1代表内部(分支)节点,0代表叶:
0 0
\ /
1 0 0 (0)
\ / \ /
1 1
\ /
1
注意,在这个编码方案中,二叉树的最后一片叶子(在括号中)是隐式的。如果我们将其内部节点(1)解释为cons单元,每个向左分支是“car”,向右分支是对的“cdr”部分,终端节点(0)是()的(NIL),则该树也可以转换为Lisp、Scheme和Prolog等语言中的特定S表达式。这样我们就有了(cons(cons)(())()(cons,)())='((()。() ) . () ) . ( () . ())=(((())()),即与上面相同的括号表达式,但被额外的括号包围。此映射由Scheme函数执行A014486号->括号如下。
术语和相应的有序根树开始于:
0:o(零)
2:(o)
10:(oo)
12:(o)
42:(ooo)
44:(o(o))
50:(o)o)
52:((oo))
56:((o))
170:(oooo)
172:(oo(o))
178:(o(o)o)
180:(o(oo))
184:(o(o))
(结束)
MAPLE公司
#Maple程序CatalanUnrank改编自CAGES书籍的算法3.24和Ruskey论文中的Scheme函数CatalanOnrank。有关相应的c程序,请参见a089408.c程序。
CatalanSequences:=proc(upto_n)local n,a,r;a:=[];对于n从0到upto_n do,对于r从0到(二项式(2*n,n)/(n+1))-1 doa:=[op(a),CatalanUnrank(n,r)];od;od;返回a;结束;
CatalanUnrank:=proc(n,rr)local r,x,y,lo,m,a;r:=(二项式(2*n,n)/(n+1))-(rr+1);y:=0;lo:=0;a:=0;对于x从1到2*n做m:=Mn(n,x,y+1);如果(r<=lo+m-1),则y:=y+1;a:=2*a+1;否则lo:=lo+m;y:=y-1;a:=2*a;fi;od;返回a;结束;
Mn:=(n,x,y)->二项式(2*n-x,n-((x+y)/2))-二项式;
#备选方案:
bin:=n->ListTools:-反转(转换(n,base,2)):
isA014486:=进程(n):本地B,s,B;s:=0;
如果n>0,则
对于bin(n)do中的b
s:=s+ifelse(b=1,1,-1);
如果0>s,则返回假fi;
od fi;
s=0结束:
选择(isA014486,[seq(0..240)])#彼得·卢什尼2024年3月13日
数学
猫[n]:=(2 n)/不/(n+1)!;b2d[li_List]:=折叠[2#1+#2&,0,li]
d2b[n-Integer]:=整数位数[n,2]
树[n_]:=联接[表[1,{i,1,n}],表[0,{i,1,n}]]
nexttree[t_]:=展平[Reverse[t]/。{a___,0,0,1,b__}:>反转[{排序[{a,0}]//反转,1,0,b}]]
wood[n_/;n<8]:=嵌套列表[nexttree,tree[n],cat[n]-1]
表[反面[b2d/@wood[j]],{j,0,6}]//压扁
tbQ[n_]:=模块[{idn2=整数位数[n,2]},计数[idn2,1]==长度[idn2]/2和最小值[Accumulate[idn2/.{0->-1}]>=0];加入[{0},选择[Range[900],tbQ]](*哈维·P·戴尔2013年7月4日*)
balancedQ[0]=真;balancedQ[n_]:=模[{s=0},Do[s+=如果[b==1,1,-1];如果[s<0,返回[False]],{b,IntegerDigits[n,2]}];返回[s==0]];A014486号=FromDigits/@IntegerDigits[Select[Range[0,1000],balancedQ]](*Jean-François Alcover公司2016年3月5日*)
A014486Q[0]=正确;A014486Q[n_]:=Catch[Fold[If[#<0,Throw[False],If[#2==0,#-1,#+1]]&,0,整数位数[n,2]]==0];选择[范围[0,880],A014486Q](*郑焕敏2016年12月11日*)
(*使用Knuth的TAOCP第7.2.1.6节中的算法P-参见参考和链接。*)
alist[n_]:=块[{a=扁平[表[{1,0},n]],m=2*n-1,j,k},
FromDigits[#,2]和/@Reap[
虽然[正确,
母猪[a];a[[m]]=0;
如果[a[[m-1]]==0,
a[[--m]]=1,j=m-1;k=2*n-1;
当[j>1&&a[j]]==1时,a[[j-]]=0;a[[k]]=1;k=2];
如果[j==1,则中断[]];
a[[j]]=1;m=2*n-1]
]][[2, 1]]];
加入〔{{0},{2}},数组〔alist,4,2〕〕(*保罗·沙萨2024年3月16日*)
黄体脂酮素
(定义(CatalanUnrank大小等级)(让循环((a 0)(m(-1+大小)))(y大小)(等级等级)(c(A009766号(-1+尺寸))(如果(负?m)a(如果(>=等级c)(回路(1+(*2a))m(-1+y)(-等级c)(A009766号m(-1+y))(回路(*2a)(-1+m)y秩(A009766号(-1+m)年))
;;; 这会将完全平衡的二进制字符串“n”转换为相应的S表达式:
(定义(A014486号->括号n)(let loop((n n)(stack(list(list))))(cond((zero?n)(car stack))((zero-(module n 2))(loop(floor->exact(/n 2))
(定义(cons2top!堆栈)(let((ex-cdr(cdr-stack)))(set-cdr!堆栈(car-ex-cdr)))
(PARI)是A014486(n)=my(v=二进制(n),t=0);对于(i=1,#v,t+=if(v[i],1,-1);如果(t<0,返回(0));t==0\\查尔斯·格里特豪斯四世,2011年6月10日
(PARI)a_rows(N)=我的(a=Vec([[0]],N));对于(r=1,N-1,my(b=a[r],c=List());foreach(b,t,my(v=if(t,估值(t,2),0));对于(i=0,v,listput(~c,(t<<2)+(2<<i)));a[r+1]=Vec(c));a\\路德·H·G·范托尔,2024年5月16日
(SageMath)
B=箱(n)[2::],如果n!=0其他0
s=0
对于b中的b:
如果b=='1'else-1,则s+=1
如果0>s:返回False
返回0==s
(Python)
从itertools导入计数,islice
从sympy.utilities.iterables导入multiset_permutations
产量0
对于计数(1)中的l:
对于multiset_permutations('0'*l+'1'*(l-1))中的s:
c、 m=0,(l<<1)-1
对于范围(m)内的i:
如果s[i]==“1”:
c+=2
如果c<i:
打破
其他:
产量(1<<m)+int(''.join(s),2)
扩展
来自的其他评论安蒂·卡图恩2000年8月11日和2004年5月25日
添加了a(0)=0(已于2011年6月删除),乔格·阿恩特2013年2月27日
限制增长字符串列表_{k-1}一个_{k-2}。。。一个_{2} 一个_{1} 当k=2和a1在{0,1}或k>2时,a{k-1}=1和a{j+1}>=1+aj,对于k-1>j>0。
+10 14
0, 1, 10, 11, 12, 100, 101, 110, 111, 112, 120, 121, 122, 123, 1000, 1001, 1010, 1011, 1012, 1100, 1101, 1110, 1111, 1112, 1120, 1121, 1122, 1123, 1200, 1201, 1210, 1211, 1212, 1220, 1221, 1222, 1223, 1230, 1231, 1232, 1233, 1234, 10000, 10001, 10010, 10011
评论
我们将非负整数写成限制增长字符串(J.Arndt在他的书fxtbook.pdf第325页中这样称呼),这样加泰罗尼亚数字(参见。A000108号)表示为:1=1,10=2,100=5,1000=14等,10…0(带k个零)=第k个加泰罗尼亚数字。一旦限制增长字符串的条目增长到9以上,就需要逗号或括号来分隔这些条目。精确定义见Dejter(2017)。
在“中层记数系统”一文中,限制增长字符串(RGS)被定义为以0或1开头的序列,右边的每个连续数至少为零,最多比它的最左边的相邻数大一个。此外,除了情况a(0)外,RGS是限制增长的有限整数序列,它总是以1作为第一个元素b_1在位置1开始,从那时起,序列中的每个连续元素b_{i+1}被限制在[0,(b_i)+1]范围内。
该序列以大小和字典顺序给出所有此类有限序列,通过连接此类有限序列的整数表示为十进制数(例如,从[1,2,0,1]我们得到1201)。58784这样的序列是[1,2,3,4,5,6,7,8,9,9],因此a(58784)=1234567899,然后是第一个RGS,[1,2,3,4,5,6,7,8,9,10],其中存在大于9的元素,这意味着这里使用的十进制只有在n=58784之前是明确的。请注意,58785=A000108号(11)-1.
此外,如果考虑斯坦利对加泰罗尼亚数字的解释(u),“a_1,a_2,…,a_n的整数序列,使得a_1=0和0<=a_{i+1}<=a{i}+1”(例如,对于C_3,000,001,010,011,012),并丢弃它们的初始零,那么我们与长度较短的Dejter的RGS具有双向对应,它们又与该序列的第一个C_n项(通过丢弃任何前导零)从a(0)到a(C_n-1)进行双向对应。由此得出第k个加泰罗尼亚数字,A000108号(k) (k>0),在这个系统中表示为1后面跟着k-1个零:a(1)=1,a(2)=10,a(5)=100,a(14)=1000,等等,并且还存在精确的A000245型(k) 长度k的RGS。
请参阅Dejter的预印本,以获得更正式的数学定义,以及如何将这个数字系统应用于哈维尔关于中间层图中哈密顿圈存在性的猜想。
参考文献
D.E.Knuth,《计算机编程的艺术》,第2卷:半数值算法,第三版,Addison-Wesley,1977年,第192页。
R.P.Stanley,《枚举组合数学》,剑桥,第2卷,1999年,练习19,解释(u)。
链接
Joerg Arndt,《计算问题:思想、算法、源代码》,施普林格出版社,2011年;可在此处免费下载:Fxtbook(传真簿).
伊塔洛·J·德杰特,中等水平的计算系统,arXiv:1012.0995[math.CO],(2014)。
伊塔洛·J·德杰特,一种用于中级图的数字系统,Elec.J.图论与应用(2021),第9卷,第1期,137-156。见第138页。
Aviezri S.Fraenkel,数词系统的使用和用途,信息计算。,81(1), (1989), 46-61.
Aviezri S.Fraenkel,记数系统,IEEE计算机算术研讨会,(1983年),37-42。
Aviezri S.Fraenkel,记数系统《美国数学月刊》,第92卷,第2期(1985年2月),第105-114页。
配方奶粉
要找到与自然数n对应的RGS,首先要找到最大行索引k,使得加泰罗尼亚三角中的T(k,k-1)<=n(A009766号)如示例部分所示。注意,三角形的最后两列由加泰罗尼亚数字组成(即T(k,k-1)=T(k、k)=A000108号(k) ),这意味着从n中减去的第一个数字是A081290元(n) 作为行的倒数第二个元素出现A081288号(n) -1,在列中A081288号(n) -2。然后,取消排序算法沿对角线向下进行,保持列索引不变,并增加行索引,只要遇到的项的总和小于或等于n。
如果该对角线上遇到的项的总和超过n,则算法跳回到三角形的倒数第二列,但从上次开始的位置再高出一行,只要总和小于等于n,算法就会再次开始对项进行求和。
当算法最终到达零行或小于零列时,结果将是一个数字列表,每个元素都是从每个对角线求和的项数,因此第一个遍历的对角线显示为第一个1(因为第一个对角线永远不会允许多个项),并且从最后遍历的对角线求和的项数出现在列表中的最后一个数。然后将这些数字列表连接为十进制数字。
这些步骤也可以向后播放,以便从这样的数字列表中恢复相应的十进制整数n,从而给出与此“取消排序函数”相反的“排序函数”。
另一种更简单的算法描述安蒂·卡图恩2014年4月21日:(开始)
行|该行上的术语
---+--------------------------
1 | 1 1 1 1 1 ...
2 | 2 3 4 5 6 ...
3 | 5 9 14 20 27 ...
4 | 14 28 48 75 110 ...
5 | 42 90 165 275 429 ...
6 | 132 297 572 1001 1638 ...
要计算第n个RGS,首先搜索最大的加泰罗尼亚语数C_k,它<=n(这是A081290号(n) ,作为行的第一项A081288号(n) -1)。然后,通过贪婪算法,从每一连续行中(向表格顶部移动)选择该行开头仍适合n的尽可能多的项,然后从n中减去它们。从每行开头选择的术语数给出了第n个RGS的每个元素,因此从最上面一行(全部为1)选择的术语数量显示为其最后一个元素。
(结束)
例子
加泰罗尼亚三角T(行,列)=A009766号以第n=0行和第0<=col<=n行开头,如下所示:
第0行:1
第1行:1,1
第2行:1、2、2
第3行:1、3、5、5
第4行:1、4、9、14、14
第5行:1、5、14、28、42、42
第6行:1、6、20、48、90、132、132
(1s最左边的对角线是“列0”)。
...
例如,对于n=38,我们发现A081290号(38)=14,发生在第行A081288号(n) -1=4,列中A081288号(n) -1和A081288号(n) -2,即T(4,4)和T(4,1)。因此,我们减去38-14得到24,我们看到在同一对角线上向下的下一项28太大,无法容纳到相同的和中,所以我们从T(3,2)=5开始向上走一条对角线。这很合适,所以我们现在有24-5=19,同样对角线上的下一项T(4,2)=9也很合适,因此我们现在有19-9=10。同一对角线上的下一个项T(5,2)=14不再适合,所以我们把自己倒回倒数第二列,但从我们开始的对角线开始,又向前走了一步,所以T(2,1)=2,它适合,10-2=8,还有下一个T(3,1)=3,8-3=5,下一个是T(4,1)=4,5-4=1,然后是T(5,1)=5>1,因此,我们跳转到T(1,0)=1,1-1=0,并且T(2,0)=1将不再适合,因此下一次该行将为零,并且算法已经准备好,收集了1(14)、2(5+9)、3(2+3+4)和1(1)个项,它们的总和为14+5+9+2+3+4+1=38,因此a(38)=1231。
对于n=20,相同的算法会得到1(14)、1(5)、0(甚至第1列中的第一个暂定项T(2,1)=2都不适合,因此跳过了),从更高的一行中我们得到了所需的1(1),因此这些总和是14+5+0+1=20,因此a(20)=1101。
数学
A239903full=带[{r=2*Range[2,11]-1},反转[Map[FromDigits[r-#]&,Rest[Select[Subsets[Range[2,11],{10},125477],Min[r-#]>=0&]]]];
A239903全[[;;100]](*保罗·沙萨2024年2月17日*)
黄体脂酮素
(马克西玛)
定义(t(j,k),(阶乘(k+j)*(k-j+1))/(阶乘(j)*阶乘(k+1));
i: 0;
x: 19岁;
z: 0;y: 0;s: 0;
当x>=t(i,i+1)do(i:i+1)时;
y: t(i-1,i);a: 零矩阵(1,i);a[1,1]:1;k: 2个;z: x-y;m: 1;
而(z>0)则(
w: 0,秒:0,p=0,
而(w<=z)do(
p: w、,
w: w+t(i-1-m,i-m+s),
s: 秒+1
),
m: m+1,
a[1,k]:s-1,k:k+1,
z: z-p型
);
打印(a);
(MATLAB)
函数[c]=catrep(z)
i=0;x=0;y=0;s=0;
而z>=(阶乘(2*i+1)*(2))/(阶乘(i)*阶乘(i+2))
i=i+1;
结束
y=(阶乘(2*i-1)*(2))/(阶乘(i-1)*阶乘(i+1));
a=零(1,i);a(1,1)=1;k=2;x=z-y;m=1;
当x>0时
w=0;s=0;p=0;
而w<=x
p=w;
w=w+(阶乘(2*i-2*m+s-1)*(s+2))/(阶乘,i-1-m)*阶乘(i-m+s+1));
s=s+1;
结束
m=m+1;a(1,k)=s-1;k=k+1;x=x-p;
结束
一
结束
(方案)
;; 以下给出了n=58784的正确结果。
(定义(A239903原始n)(如果(零?n)(列表)(让循环((n n)(行(A244160型n) )(列(-(A244160型n) 1))(低(-(A244160型n) 1))(catstring(列表0)))(cond((or(zero?row)(negative?col))(reverse!(cdr catstring))((>(A009766tr row col)n)(loop n srow(-col 1)(-srow 1)(cons 0 catstring
(定义(基线列表为特殊列表)(基线列表->n 10列表))
(定义(基线->n基本边界)(let loop((bex-bex)(n 0))(cond((null?bex)n))(else(loop(cdr-bex))(+(*n基本)(car-bex))))
(茱莉亚)
函数CatalanNumerals(z)
z==0&&返回0
f(n)=阶乘(n)
t(j,k)=div(f(k+j)*(k-j+1),f(j)*f(k+1))
k、 i=2,0
而z>=t(i,i+1)i+=1结束
dig=填土(0,i);挖[1]=1
x=z-t(i-1,i)
m=i-1
当x>0时
w、 s,p=0,0,0
而w<=x
p=w
w+=t(m-1,m+s)
s+=1
结束
挖[k]=s-1
m-=1;k+=1;x=p
结束
s=“”;对于挖掘中的d,s*=字符串(d)结束
解析(Int,s)
结束
[CatalanNumerals(n)for n in 0:42]|>打印ln#彼得·卢什尼2019年11月10日
nxt(w)=如果(w[1]==#w,向量(#w+1,i,i>#w),my(k=1);而(w[k]>w[k+1),w[k]=0;k++);w[k]++;w)
seq(n)={my(a=向量(n),w=[1]);a[1]=0;对于(i=2,#v,a[i]=来自数字(Vecrev(w));w=nxt(w);a}\\安德鲁·霍罗伊德2023年1月24日
交叉参考
囊性纤维变性。A007001号,A007623号,A014418号,A071154号,A071159号,A081288号,A081290号,A081291号,A082853号,A126307号,A244155号,A244156号,A244157号,A244158号,A370222型.
Łukasiewicz单词用于每个根平面树(斯坦利练习19中的解释e),由编码A014486号(或A063171号),最后一个叶是隐式的,也就是说,除了编码为0的空树之外,这些单词都没有最后一个尾随的零。
+10 13
0, 1, 20, 11, 300, 201, 210, 120, 111, 4000, 3001, 3010, 2020, 2011, 3100, 2101, 2200, 1300, 1201, 2110, 1210, 1120, 1111, 50000, 40001, 40010, 30020, 30011, 40100, 30101, 30200, 20300, 20201, 30110, 20210, 20120, 20111, 41000, 31001, 31010
评论
注意:这种有限的十进制表示法只适用于6917项,因为第6918个这样的单词已经是(10,0,0,0,0,0,1,0,0)。序列A071154号显示了排序后该序列的初始部分。
例子
第十一届A063171号是10110010,对应于括号()(())(),因此它的Łukasiewicz单词是3010。第十八届A063171号是11011000,对应于括号(()(())),因此其Łukasiewicz单词是1201。也就是说,在后一个例子中,顶层有一个列表,它又包含两个子列表,其中第一个是零元素长,第二个是包含一个空子列表的子列表(最后一个零被省略)。
Łukasiewicz表示根平面二叉树的单词(在Stanley的练习19中解释),最后一片叶子是隐含的,也就是说,这些单词没有最后一个尾随零,除了编码为0的空树。
+10 三
0, 20, 2020, 2200, 202020, 202200, 220020, 220200, 222000, 20202020, 20202200, 20220020, 20220200, 20222000, 22002020, 22002200, 22020020, 22020200, 22022000, 22200020, 22200200, 22202000, 22220000, 2020202020, 2020202200
数学
balancedQ[0]=真;balancedQ[n_]:=(s=0;Do[s+=如果[b==1,1,-1];如果[s<0,返回[False]],{b,整数位数[n,2]}];返回[s==0]);2*FromDigits/@IntegerDigits[Select[Range[0,684],balancedQ],2]从数字中选择(*Jean-François Alcover公司2013年7月24日*)
数组[Map[FromDigits[#/.-1->0]*20&,选择[Permutations[Join[Table[-1,#-1],Table[1,#]]],Min[Accumulate[#]]>=0&]]&,6,0](*保罗·沙萨2024年3月12日*)
黄体脂酮素
(Python)
从itertools导入计数,islice
从sympy.utilities.iterables导入multiset_permutations
产量0
对于计数(1)中的l:
对于multiset_permutations('0'*l+'1'*(l-1))中的s:
c、 m=0,(l<<1)-1
对于范围(m)内的i:
如果s[i]==“1”:
c+=2
如果c<i:
打破
其他:
产生10**m+int(''.join(s))<<1
用于Łukasiewicz字的Prime-factorization编码分区码A129593号.
+10 三
1, 3, 25, 25, 343, 35, 35, 343, 35, 14641, 847, 847, 847, 55, 847, 55, 847, 14641, 847, 55, 847, 847, 55, 371293, 24167, 24167, 1573, 1183, 24167, 1183, 1573, 24167, 1183, 1183, 1183, 1183, 65, 24167, 1183, 1183, 1183, 65, 1573, 1183, 24167
例子
条款A079436号(5),A079436号(6) 和A079436号(8) 2010年、2100年和1110年。除第一个数字外,每个数字加一后,我们得到2121、2211和1221,每个数字产生分区1+1+2+2。将其转换为素数指数,如中所述A129595号,我们得到2^0*3^0*5^1*7^1=35,因此a(5)=a(6)=a(8)=35。
搜索在0.013秒内完成
查找|欢迎光临|维基|注册|音乐|地块2|演示|索引|浏览|网络摄像头
贡献新序列。或评论|格式|样式表|变换|超级搜索|最近
OEIS社区|维护人员OEIS基金会。
许可协议、使用条款、隐私政策。.
上次修改时间:2024年9月21日22:57 EDT。包含376090个序列。(在oeis4上运行。)
|