Наверное, всё-таки число цветов должно быть строго больше чем

- в противном случае существует контрпример уже с

. И здесь, кстати, важно, что логарифм двоичный - пришлось додумывать это за вас.
Задача решается стандартной техникой, восходящей к Эрдёшу.
Пусть

, т.е. наименьшее целое число строго большее чем

. Выкинув "лишние" цвета, будем считать, что палитра каждой вершины состоит ровно из

цветов.
Пусть

- множество всех цветов из всех палитр. Случайным равномерным образом назовем каждый цвет из

"левым" или "правым". Тогда вероятность, что у вершины в палитре есть хотя бы один левый и хотя бы один правый цвет, равна

а ожидаемое число таких вершин

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

. Рассмотрим два случая:
1)

. В этом случае произвольно называем доли графа "левой" и "правой", вершины из левой доли красим левыми цветами из их палитр, вершины из правой доли - правыми цветами из их палитр. Требование задачи, очевидно, выполнено.
2)

. В этом случае существует одна вершина, вся палитра которой левая (для определенности). В этом случае называем долю, которой принадлежит эта вершина, "левой", а другую долю - "правой", и далее красим как в случае 1).