Change the searching code in DynamicIntervalTree to make it more efficient

Using binary instead of the one-by-one approach:ｒeduce the time cost for search all overlapping intervals to O(log n + k)