Algoritmo eficiente para gerar duas permutações difusas e desarranjadas de um conjunto múltiplo aleatoriamente
fundo \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 Suponha que eu tenha dois lotes idênticos de nnn bolinhas de gude. Cada mármore pode ser uma das cores ccc , onde c≤nc≤nc≤n . Deixe ninin_i denotam o número de berlindes de cor iii em cada lote. Seja SS\msS o multiset {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}\} representando …