数学不好的记录一下. 题目是给定R,G,BR,G,BR,G,B的数量.然后给你一个kkk,要求字符串中有kkk个RGRGRG的方案数. 考虑先放G,B,RGG,B,RGG,B,RG,最后补RRR. 考虑先放的方案数就是(numG+numB)!/(numG−k)!∗(numB)!∗(k)!(num_G+num_B)!/(num_G-k)!*(num_B)!*(k)!(numG+numB)!/(numG−k)!∗(numB)!∗(k)!. 多重集的排列,总的方案/内部随便排的方案数. 再然后考虑补RRR.RRR不能放在GGG的前面,我们可以做一个操作就是把含有GGG的向最近的B,RGB,R...