N球卡尔能切出多少技能?

假设Dota2中的英雄卡尔,拥有n种元素。 并且也能同时控制n个元素。

x(n) 代表第n种元素的数量。

x1 + x2 + ... + x(n) = n
问题转变为有多少组自然数解

想象 有N-1 个隔板把 空间分成了 n 块
x1 | x2 | x3 | ... | x(n)
再把 x(n) 用实体的 〇代替
则 一共有N个 〇

例如
〇 | 〇〇〇 | | 〇〇〇〇〇 | .... | 〇〇
就表示
x1 = 1
x2 = 3
x3 = 0
x4 = 5
...
x(n) = 2

问题有变成了 求 所有的 〇 和 | 的排列,除去重复的情况(〇 和 | 是无差别的)
重复的情况即是 所有 〇 和 | 各自的全排列
即 A (n + n -1) / A(n) / A(n-1) = C(n, 2n-1 )

推荐阅读更多精彩内容