Сообщение Re[2]: Простая с виду задачка с подвохом от 21.09.2020 15:56
Изменено 21.09.2020 16:07 Lazytech
Re[2]: Простая с виду задачка с подвохом
Здравствуйте, dead0k, Вы писали:
D>R = 0, G = 1, B = 2.
D>Несложно заметить, что функция определения элемента следующего ряда f(Ci, Ci+1 ) = (0 — Ci — Ci+1) mod 3.
D>Тогда можно переработать алгоритм на целочисленную математику и получить ускорение на порядок-другой.
Переход на целочисленную математику действительно значительно ускорил код! По времени всё равно не уложился, но уже что-то.
Спасибо за подсказку.
D>R = 0, G = 1, B = 2.
D>Несложно заметить, что функция определения элемента следующего ряда f(Ci, Ci+1 ) = (0 — Ci — Ci+1) mod 3.
D>Тогда можно переработать алгоритм на целочисленную математику и получить ускорение на порядок-другой.
Переход на целочисленную математику действительно значительно ускорил код! По времени всё равно не уложился, но уже что-то.
| Еще одно решение | |
| |
Спасибо за подсказку.
Re[2]: Простая с виду задачка с подвохом
Здравствуйте, dead0k, Вы писали:
D>R = 0, G = 1, B = 2.
D>Несложно заметить, что функция определения элемента следующего ряда f(Ci, Ci+1 ) = (0 — Ci — Ci+1) mod 3.
D>Тогда можно переработать алгоритм на целочисленную математику и получить ускорение на порядок-другой.
Переход на целочисленную математику действительно значительно ускорил код! По моим грубым прикидкам, на пару-тройку порядков (самое быстрое из старых решений в лучшем случае проходило один тест со строкой средней длины, а новое решение прошло все сто таких тестов, плюс пару тестов со строками большой длины). По времени всё равно не уложился, но уже что-то.
Спасибо за подсказку.
D>R = 0, G = 1, B = 2.
D>Несложно заметить, что функция определения элемента следующего ряда f(Ci, Ci+1 ) = (0 — Ci — Ci+1) mod 3.
D>Тогда можно переработать алгоритм на целочисленную математику и получить ускорение на порядок-другой.
Переход на целочисленную математику действительно значительно ускорил код! По моим грубым прикидкам, на пару-тройку порядков (самое быстрое из старых решений в лучшем случае проходило один тест со строкой средней длины, а новое решение прошло все сто таких тестов, плюс пару тестов со строками большой длины). По времени всё равно не уложился, но уже что-то.
| Еще одно решение | |
| |
Спасибо за подсказку.