Hint for solution

Posted by

Vlad 14 Mar 2009 18:08

This was overall a great problems set!

Can anyone give a hint on the solution for "J. Turning Turtles"?

What special property (beside that it's a tree) must one use?

What is the complexity of the intended solution?

Thanks in advance!

Re: Hint for solution

This problem can be solved in O(N + Q*logN), where N is the size of the field.

Re: Hint for solution

Am I right that we build slightly another tree and then use LCA on that? =)

And when the problems will be added to the problemset?

Re: Hint for solution

Actually it is possible to use the given tree. But calculating the answer is not very trivial.

Re: Hint for solution

Posted by

svr 14 Nov 2009 11:30

I was glad to use successfully LCA

with forgotten implementation.

It is enough to know what LCA do.

It is mean that LCA very adequate tool for tree

and cannot be omitted in learning.

Re: Hint for solution

It is possible to use given tree, but my complexity is O(N*log(N)+Q*log(N)) - 0.25 sec and quite a bunch of RAM. For every node store its 1st, 2nd, 4th, 8th, 16th, ... 2^16th parent. Also store number of turns on that path and final orientation after last move (horizontal/vertical). This information is enough to calculate answers at log(N).