有重复数字的不重复全排列

也许更好的阅读体验
D e s c r i p t i o n \mathcal{Description} Description
如标题 给一堆数,问其全排列有多少种

1 1 2 这三个数只有3种全排列
分别为
1   1   2 1   2   1 2   1   1 1\ 1\ 2\\ 1\ 2\ 1\\ 2\ 1\ 1 1 1 21 2 12 1 1

S o l u t i o n \mathcal{Solution} Solution
设第 i i i个数有 a i a_i ai
a n s = C n a 1 C n − a 1 a 2 C n − a 1 − a 2 a 3 ⋯ C a n a n = n ! a 1 ! a 2 ! a 3 ! ⋯ a n ! ans=C_n^{a_1}C_{n-a_1}^{a_2}C_{n-a_1-a_2}^{a_3}\cdots C_{a_n}^{a_n}=\frac{n!}{a_1!a_2!a_3!\cdots a_n!} ans=Cna1Cna1a2Cna1a2a3Canan=a1!a2!a3!an!n!

你可能感兴趣的:(实用,数论,竞赛算法)