Это проблема в вопросе: Problem #78Советы для проекта Эйлера Задача № 78
Это сводит меня с ума. Я работаю над этим в течение нескольких часов, и мне удалось уменьшить сложность поиска количества способов собрать n
монеты до O(n/2)
, но даже с такими улучшениями и, начиная с n
, для которых p(n)
приближается к одному миллиону, я до сих пор не могу дотянуться до минуты. Совсем нет.
Есть ли подсказки, которые могли бы помочь мне в этом?
Имейте в виду, что я не хочу полного решения, и здесь не должно быть никаких функциональных решений, чтобы не испортить проблему другим людям. Вот почему я не включил и код.
Какую конкретную причину вы пытаетесь решить менее чем за минуту? –
Это своего рода эмпирическое правило в Project Euler. Прямо поставленный: если алгоритм не может решить его через минуту, он отстой, и поэтому не является хорошим решением. Я хочу хорошее решение. –
Я не могу дать вам никаких конкретных советов, но недавно я опубликовал некоторые общие советы: http://stackoverflow.com/questions/1537306/recommended-reading-for-solving-project-euler-problems/1537531#1537531 – starblue