[sum_kdbinom{n}{k}^2dbinom{3n+k}{2n}=dbinom{3n}{n}^2
]
先为左侧赋予一个组合意义:枚举 (k),考虑有 (3n+k) 个球排成一排:
- 在其中选出 (2n) 个准备染色,靠左的 (n) 个染为浅色,靠右的 (n) 个染为深色;
- 靠左的 (n) 个中取 (k) 个染为浅蓝色,其余为浅绿色;
- 靠右的 (n) 个中取 (n-k) 个染为深蓝色,其余为深绿色。
下面是右侧的组合意义:
- 先将 (3n) 个白色球排成一行,将其中 (n) 个染为蓝色,稍后决定深浅;
- 再生成一个长为 (3n) 的 01 序列,其中有 (n) 个 1;
- 显然上面两步的方案数就是 (dbinom{3n}{n}^2);
- 拿两个指针,
p
指向那行球中的白色球,q
指向 01 序列中的数,两个指针从头开始同步地扫过去; q
遇到 1 就把p
指向的白色球染为浅绿色,直到p
之前有 (n) 个有颜色的球;此时有:- (k) 确定了下来:
p
前有 (k) 个浅蓝色球,(n-k) 个浅绿色球,这样得到第一段球; - 设
p
之后还有 (l) 个球,则q
之后还剩 (l+k) 个数,其中 (k) 个为 1;
- (k) 确定了下来:
- 将
p
之后的球放到q
之后的 0 的位置,1 的位置放深绿色球,这样得到第二段球; - 两段球接起来便是符合左侧组合意义的一排球。
e.g.(b
, B
, g
, G
, x
分别代表浅蓝色、深蓝色、浅绿色、深绿色、白色)
n=3
xxbxbxbxx
p
011001000
q
xrbxbxbxx
p
011001000
q
xgbgbxbxx
p
011001000
q
xgbg BxGBxx
p
011 001000
q