I do not provide details, just a general direction. let me know if you need more information.
Suppose you have a tree that considers one function (i.e. one real number) and prints either a single number or a range. Now it is easy to find non-monotonic areas of this tree (for any node, if the range of the left subtree overlaps the range of the right subtree, then there are non-monotonic areas in this part of the tree).
You can convert your general DT to DT, which works with only one function and applies the above methodology.
In general, you can maintain a range for each function on each node and use the same criteria that I mentioned above to find such regions.
source share