每日一题[2549]三维卡特兰

1,2,3,,99 个数全部填入 3×3 的方格内,每个格内填一个数,则使得每行中的数从左至右递增,每列中的数从上至下递减的不同填法共有(       )种.

A.12

B.24

C.42

D.48

答案    C.

解析    用 A,B,C 分别记为将数放在第一列、第二列和第三列,问题等价于将 3A3B3C 排成一列,其中在任何一个中间状态已经排好的 A 的数量不小于 B 的数量,且 B 的数量不小于 C 的数量.如 AABCABBCC 即为579268134

这可以看作是一个三维的卡特兰数问题,可以通过f(x,y,z)=f(x1,y,z)+f(x,y1,z)+f(x,y,z1),
以及当 x<yy<z 时,f(x,y,z)=0f(0,0,0)=1 来递推计算.当 z=0 时,有yx012301111101232002530005
z=1 时,有yx01230000010136200516300021
z=2 时,有yx01230000010000200521300042
z=3 时,有yx0123000001000020000300042
因此所求不同的填法共有 42 种.

此条目发表在每日一题分类目录,贴了标签。将固定链接加入收藏夹。

发表回复