Я попытался сдать задачу декартовыми деревьями, и получил TLE10. Также оно еле укладывается в TL по задаче D отсюда: http://codeforces.net/gym/100093 (а если все приоритеты брать по mod1000, то оно ловит TLE15) и проваливает F.
Допустил ли я где-то ошибку, или ни одна из этих задач не должна сдаваться декартовыми деревьями?
Посылки:
По неведомой причине залетевшее решение F
(В процессе написания у меня почему-то зашла F, но поскольку это случилось 1 раз из 4, этим, видимо, стоит пренебречь).
rand()
вроде возвращает 15-битное число, попробуй(rand() << 15) | rand()
вместо этогоА ещё лучше —
(rand() << 16) ^ rand()
(основное —^
вместо|
), тогда будет генерировать случайные числа независимо от того, 16 бит выдаёт или больше.Тогда уже без UB
((unsigned)rand() << 16) ^ rand()
и хранить вunsigned
http://ideone.com/dPcCUi
или таки начать использовать то, что заведомо нормально работает
Кто-нибудь, замутите пикчу наподобие этой вида:
Для декартова дерева мне норм.
Так да, норм.
Я всего-лишь придрался к
std::uniform_int_distribution<>
, которым, кажется, можно подпирать потолок, если положить на бок.ну если честно сравнивать, то первая строчка не нужна и просидировать можно напрямую.
Задача F solution Проблема не только в рандом, лучше не используй std::cin, std::cout , even sync_with_stdio(false). Лучше используй printf/scanf Твое решение почти идентичен с моим, кроме метод чтение/запись.
Кстате кто-нибудь знает решение Задача F с помощью дерево интервалов, буду блогадарень если опишите решение.