hiho! is a serial contests we developed to help programmers improve their skills following some architecture. Tree, as a data structure, has a significant feature that the problem on a tree usually can be divided in to several sub-problems on sub-trees which is very similar to what we have learned in "Dynamic Programming".
After several weeks of warmup, we finally come to the online algorithm of LCA problem~ It takes some pre-processes to analyse the whole tree structure. So when there comes a query, it can deal with it in a very easy way. Just come and learn it with Hi and Ho!