There is a problem from phuket regional 2015 that i have been trying to solve.
The problem transforms into something like this , there is a tree ( at most 10^5 nodes) where each node has two values(let them call a,b). Now there are some (at most 10^5) queries of form : U V x y .
You have to find all the nodes on path U to V for which a*x + b*y is minimum. Note that if this minimum occurs for several nodes , you have to find them all. It is guaranteed that you don't have to print more than 3*10^5 nodes' id.