Алгоритм нахождения возможного количества выборок - PullRequest
1 голос
/ 25 октября 2010

Мне задали этот вопрос, и я подумал об этом, но не смог его решить.

Вопрос:

Мне предлагается выбрать n цветных карандашей.Есть карандаши k разной цветовой группы.Из каждой цветовой группы также бесконечно много карандашей.Я хочу иметь хотя бы один карандаш из каждой цветовой группы, но все же есть много возможностей для моего выбора.

Сколько возможностей для этого набора выбора можно иметь?Предположим, что карандаш одного цвета не может быть различим, и порядок карандашей не имеет значения.

Ответы [ 2 ]

2 голосов
/ 25 октября 2010

Представьте себе n слотов с n-1 пробелами между ними.Размещение разделителей k-1 в промежутках между слотами (макс. 1 разделитель на слот) определяет допустимый выбор: поместите первый цвет во все слоты перед первым разделителем, второй цвет в слоты после первого и перед вторым разделителеми т. д. Поскольку между каждыми двумя разделителями имеется хотя бы один пробел, в каждом цвете будет хотя бы один карандаш.

Отображение однозначно, поскольку каждый выбор также генерирует уникальную конфигурацию разделителей..

Помещение разделителей k-1 в n-1 пробелы может быть выполнено N (n-1, k-1) способами, где N - символ Ньютона, поэтому ответом является N (n-1,k-1).

Другой способ представить это, основанный на ответе djna:

Исправить k карандашей, по одному в каждом цвете - вам нужно по крайней мере по одномуцвет, поэтому они будут гарантировать, что это требование выполнено.Теперь у вас осталось nk пиков, которые вы можете разделить между цветами в любом случае, на этот раз не нужно заботиться о выборе каждого цвета (это гарантировано k карандашами, выбранными первыми.) Количество решений - это количество способов, которые вы можете разделитьnk неразличимых карандашей на k различимых (*) разбиений.

Как это перечислить?Добавьте ручки k-1 к вашим карандашам nk, выровняйте их и раскрасьте слева направо, меняя цвет после встречи с карандашом.Например, представление перьев в виде * и карандашей в виде - с тремя цветами (красный, зеленый, синий):

--**-

представляет два красных карандаша, ноль зеленых и один синий.В таком представлении есть (nk) + (k-1) = n-1 элементов (ручки и карандаши). Из них вам нужно выбрать k-1 позиции пера (или nk позиций карандаша, так как выбор одного набора определяетдругой.) Число способов, которыми вы можете сделать это N (n-1, k-1).

(*) Я предполагаю, что «2 красных, один зеленый» отличается от «2 зеленых,один красный ", в противном случае это совершенно другая задача.

0 голосов
/ 25 октября 2010

Мы предполагаем, что n> k, в противном случае вы не можете достичь "хотя бы одного цвета".

Тогда ваши первые k пиков полностью определены, по одному для каждого цвета. Все, что остается, это (n-k) карандаши, которые могут быть любого цвета. так вот k вариантов для первого, k для второго ...

Другими словами: k ^ (n -k)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...