§ Stars and bars by direct bijection


We know that the number of kk element multisets using letters from {1,,n}\{1, \dots, n\} is (k+n1k)\binom{k+n-1}{k}. That is, we are allowed to pick elements from {1,,n}\{1, \dots, n\} repeatedly, and we want kk such elements.

§ The usual proof: stars and bars


The usual proof involves creating kk "stars" ( \star) which need to be placed in nn buckets. These buckets are created by having (n1)(n-1) "bars" ( |). For example, if we wish to consider all k=3k=3 element multisets of the letter n=4n=4: {w,x,y,z}\{w, x, y, z\}:
[w,w,w][w,x,y][x,x,x][x,z,z] \begin{aligned} &[w, w, w] \mapsto \star \star \star \vert \vert \vert \\ &[w, x, y] \mapsto \star \vert \star \vert \star \vert \\ &[x, x, x] \mapsto \vert \star \star \star \vert \vert \\ &[x, z, z] \mapsto \star \vert \vert \star \star \\ \end{aligned}

§ Direct bijection.


To build a direct bijection, map a kk multiset of nn into a kk subset of n+k1n+k-1, which is counted by (n+k1k)\binom{n+k-1}{k}.

I found this very elegant, because it "de-multisets" the multiset by adding just enough to make each element unique, and then simply counts the unique subset. Very slick! We need to add k1k-1 to the final index, and the largest number we can have is nn so we need n+(k1)n + (k-1) values. We need a size kk multiset, making us need (n+(k1)k)\binom{n+(k-1)}{k}.