Если совсем будет непонятно как делать, то можете задачу свести к задаче поиска максимального независимого множества в графе, которая, в свою очередь, сводится к задаче булева линейного программирования размерности
(получится регулярный граф специального вида со степенью вершин
). Из нее можно получить тривиальную оценку для числа подмножеств
, но она очень грубая.
Это если условие задачи понимать как "пересечение любой пары подмножеств содержит не более одного элемента"...
-- Сб апр 09, 2011 22:10:11 --Можете использовать жадный алгоритм для оценки снизу числа
: пишем упорядоченные тройки в массив и проходим по ним и включаем во множество
, если тройка не пересекается с уже существующими, иначе - не включаем. В итоге
.
Можно отсюда попытаться сделать приближенную оценку сверху. Пусть мы включаем в
множество
, включающее текущую вершину
, причем для всех
не может быть
, поскольку множество, содержащее эти вершины может быть в
. Тогда в
могут быть включены лишь вершины из списка
- не более
пар, а значит не более
множеств
, откуда
.
-- Сб апр 09, 2011 22:12:34 --Например, для
у меня вышло
, а значения оценки