Пожалуйста, подпишитесь на официальный канал Codeforces в Telegram по ссылке https://t.me/codeforces_official. ×

Блог пользователя TLE_Automaton

Автор TLE_Automaton, история, 4 часа назад, По-английски

In today's Div.2E, I thought of a possible correct approach, but I can only feel that its number of operations is relatively good, and I can't calculate or give a hack.

My idea is that on a tree, we perform heavy chain decomposition on it. We found that the kangaroo needs to go through at most $$$log_n$$$ light edges to reach the root. For each heavy chain (a total of $$$log_n$$$), we perform binary division on it to the node of the next heavy chain. Then for this node (we assume it is $$$k$$$), for all its child nodes, we traverse from large to small according to the size of their subtrees, and this step only requires $$$O(\sqrt{siz_k})$$$.

I didn't elaborate on some of the small details, mainly because we need to prevent the kangaroo from running out of the subtree when we divide or query the child nodes, so we may query several times more (causing twice the constant).

Can anyone help me? Thank you very much.

My submission: E1: 271644722 My submission: E2: 271644923

  • Проголосовать: нравится
  • +7
  • Проголосовать: не нравится

»
4 часа назад, # |
  Проголосовать: нравится +11 Проголосовать: не нравится

Mole, not kangaroo.

»
57 минут назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится

It got accepted. So wherein lies the problem?