我正在尝试解决 TopCoder 上的问题。基本上我需要的是以下算法:
令 S = [1, 2, ..., n] 是一个序列。让 m 小于 n。
1) 找到大小为 m 的 S 的所有子序列(这很容易 - n^m)。
2) 找到大小为 m 的 S 的所有子序列,其中元素处于非递减顺序。
3) 找出大小为 m 的 S 的所有子序列,其中元素不允许重复(这也很容易 - (n!)/((nm)!)。
4) 找出大小为 m 的 S 的所有子序列,其中元素处于非递减顺序且不允许重复。
仍在尝试寻找第 2 部分和第 4 部分的公式。我们将不胜感激。
提前致谢。
编辑:
原始问题:
https://docs.google.com/document/d/1X1VK8Vq2DlqMbZpXHGLoWv9ULfRLVoLtMTRRU5nh5qs/edit?usp=sharing