Чудесная в свое примитивности модель ОУ, как устройства с почти бесконечный коэффициентом усиления, стремящегося обратить в ноль разность потенциалов на входах. Спасибо Хоровицу и Хиллу за преодоление страха перед аналоговой схемотехникой.
1. Простым ДП находим список дубов, которые нужно убрать — O(N^2) операций.
2. Делаем связанный список из всех деревьев с пометками на уничтожения, и проходим по нему несколько раз, уничтожая помеченные деревья, у которых соседи строго больше или строго меньше. На каждом проходе уничтожается как минимум одно дерево, так что надо O(N) проходов по O(N) операций.
Workarounds это чаще всего немного о другом — об обходе багов, недоработок и нелогичностей используемых фреймворков. Например, трудно писать на джаваскрипте, не используя костыли для обхода peculiarities зоопарка браузеров.
Обычно руководствуюсь простым правилом — делать только такие костыли, которые можно без проблем убрать, когда нижележащий фреймворк приведут в порядок.
По сравнению с оригиналом там своя внутренняя крутизна — так как в лего нет шестеренок с 19 или 233 зубьями, пришлось сильно поизвращаться и сделать аналогичную механику на дифференциалах.
Довольно печальная статья с кучей передергиваний. Теория о проихождении фонетических знаков из монотеизма вообще никуда не годится — вспомним, например, японские слоговые азбуки, где монотеизмом и не пахло. Египетская письменность тоже была наполовину фонетической.
1. Простым ДП находим список дубов, которые нужно убрать — O(N^2) операций.
2. Делаем связанный список из всех деревьев с пометками на уничтожения, и проходим по нему несколько раз, уничтожая помеченные деревья, у которых соседи строго больше или строго меньше. На каждом проходе уничтожается как минимум одно дерево, так что надо O(N) проходов по O(N) операций.
Обычно руководствуюсь простым правилом — делать только такие костыли, которые можно без проблем убрать, когда нижележащий фреймворк приведут в порядок.