- Сообщения
- 44
- Реакции
- 1
Предположим, есть некое множество N элементов {1,2,3,...N}
Нужно определить количество всевозможных не повторяющихся наборов по M элементов. К примеру, для M=4 {{1,2,3,4},{2,4,5,6},{7,8,4,9}...}
В этом случае задача решается просто - это классический случай, количество сочетаний без повторений. Немного усложним задачу - нужно определить количество всевозможных наборов по M элементов, в которых не повторяется K элементов.
То есть, при K=M задача вырождается в предыдущую; при K=1 нам необходимо посчитать множества, состоящие из полностью различных элементов {{1,2,3,4},{5,6,7,8},{12,9,30,10},...}; при K=2 нам подходят все наборы, в которых повторяется не более одного элемента {{1,2,3,4},{1,5,6,7},{2,5,9,10},...} и т.д.
В самом идеальном случае хотелось бы получить быстрый линейный алгоритм перебора таких множеств.
Заранее огромное спасибо
Нужно определить количество всевозможных не повторяющихся наборов по M элементов. К примеру, для M=4 {{1,2,3,4},{2,4,5,6},{7,8,4,9}...}
В этом случае задача решается просто - это классический случай, количество сочетаний без повторений. Немного усложним задачу - нужно определить количество всевозможных наборов по M элементов, в которых не повторяется K элементов.
То есть, при K=M задача вырождается в предыдущую; при K=1 нам необходимо посчитать множества, состоящие из полностью различных элементов {{1,2,3,4},{5,6,7,8},{12,9,30,10},...}; при K=2 нам подходят все наборы, в которых повторяется не более одного элемента {{1,2,3,4},{1,5,6,7},{2,5,9,10},...} и т.д.
В самом идеальном случае хотелось бы получить быстрый линейный алгоритм перебора таких множеств.
Заранее огромное спасибо