Всем привет! Я тут недавно решал тренировки и столкнулся с одной проблемой. Проблема возникла при написании(а написании ли?) СНМ в задаче D с вот этой тренировки. Старшие товарищи, если вы не против, можете, пожалуйста, сказать мне, как можно оптимизировать мой код, чтобы он не получал ТЛ.
Вроде бы глупых ошибок нет, да и все что мог, то соптимизировал. Заранее спасибо!
P.S. Извините за паскаль :]
UPD: Гигантское спасибо за советы, TL исправил. Сейчас буду бороться с WA =)
UPD2: Ура, сдал! Теперь баги с переполнениями нету, спасибо caustique за это.
Сжатия путей нет.
Спасибо, исправил. Но, почему-то, все равно TL 3.
Какая то странная у Вас функция объединения.
Если size равны, то к которому подвешиваем надо увеличить на 1. Иначе к большему подвесить меньшее.
Почитал на e-maxx. Там написано, что можно и так, как у меня.
Можно хранить высоту, можно размер. Все оценки доказываются одинаково (ну O(log * ) точно, O(α) я доказывать не умею).
Отправь под FPC. Известная проблема, что в Delphi int64 тормозит.
Ура, теперь WA !! Спасибо ;))
"извините за паскаль" made my day :)