Очень классная задача на динамическое программирование, в которой надо ещё придумать, как быстро посчитать результат. Читаем условие: Идея динамического программирования лежит на поверхности - чтобы вычислить стоимость для N надо знать стоимость для S и N - S (и правильно распределить, к чему прибавить 1, а к чему - 2). Получаем одномерную динамику - ответ зависит лишь от количества элементов в множестве. База динамики: для 1 ответ 0. Если загаданное число среди одного, то не надо задавать вопросов, чтобы узнать, что это за число...
Я довольно часто пишу про развитие, эволюцию, прогресс и прочие подобные продукты мыслительной деятельности накопленной человечеством по отношении к этому самому человечеству (мне это просто нравится), но сегодня я захотел рассказать о том, что такое генетические алгоритмы. Точнее даже не то, что это такое по сути, это отдельный разговор, а о том как они работают на конкретном примере. В качестве задачи я взял задачу Коммивояжера (задача поиска кратчайшего маршрута соединяющего некоторое количество контрольных пунктов, городов)...