Counting necklaces with a fixed number of each bead [duplicate]

I want to count the number of necklaces, with $n$ beads in total, where the alphabet of beads is $\{1,\ldots,k\}$, and where the number of beads with color $i$ is $n_i$. For example, if $n=4$, and $n_1 = n_2 = 2$, the following necklaces are the only possible $$1122$$ $$1212$$

I have been able to find formulas for different variations of the problem, but not this one. If there is no nice formula, a generating function is always a nice compromise.


Solution 1:

There is a reasonably nice generating function coming from the Pólya enumeration theorem. It is given explicitly in, for example, this blog post: the number you want is the coefficient of $\prod r_i^{n_i}$ in

$$\frac{1}{n} \sum_{d | n} (r_1^{n/d} +\cdots + r_k^{n/d})^d \varphi \left( \frac{n}{d} \right).$$