Can someone provide some insight on how to approach this problem ?
You are given two strings a and b. Find shortest string which being repeated infinitely contains the both strings. I.e. find such shortest s that infinite string ss... s... contains a and contains b as a substring.
This problem is not from an ongoing contest. Those who have access to the group (Brazil ICPC Summer School 2018) can view it here!
Note : By tree I mean a weighted tree where each node has a weight.
Is there anyway to build the Cartesian Tree of a Tree efficiently (less than $$$O(n^2)$$$) ?
By Cartesian tree of a tree I mean the following:
Find the node with minimum weight in the Tree. Make it the root.
Recursively do this for each of the subtrees formed and attach their roots to the Earlier root.
I chose to call it Cartesian Tree because it is very similar to this.