Ефективний алгоритм для генерування випадкових двох дифузних, впорядкованих перестановок мультисети
Фон \newcommand\ms[1]{\mathsf #1}\def\msD{\ms D}\def\msS{\ms S}\def\mfS{\mathfrak S}\newcommand\mfm[1]{#1}\def\po{\color{#f63}{\mfm{1}}}\def\pc{\color{#6c0}{\mfm{c}}}\def\pt{\color{#08d}{\mfm{2}}}\def\pth{\color{#6c0}{\mfm{3}}}\def\pf{4}\def\pv{\color{#999}5}\def\gr{\color{#ccc}}\let\ss\gr Припустимо, у мене дві однакові партії з nnn мармуру. Кожен мармур може бути одним із ccc кольорів, де c≤nc≤nc≤n . Нехай ninin_i позначає кількість мармурів кольору iii в кожній партії. Нехай SS\msS - мультисетка {1,…,1n1,2,…,2n2,…,1c,…,cnc}{1,…,1⏞n1,2,…,2⏞n2,…,1c,…,c⏞nc}\small\{\overbrace{\po,…,\po}^{n_1},\;\overbrace{\pt,…,\pt}^{n_2},\;…,\;\overbrace{\vphantom 1\pc,…,\pc}^{n_c}\} представляє одну партію. У частотному поданні , SS\msS …