I was wondering if the following problem can be solved in asymptotically better time than$ \ O(n \log n)$.
Suppose you have an array of integers $a_1,a_2,a_3,\ldots,a_i,\ldots,a_n$ where initially for all $i$,$ \ a_i = \mathrm{INF}$.
Now, we will iterate over every element starting from $i = 1$ to $i = n$ and perform two operations.
Update the element at index $i$, $a_i = v$.
Answer a query of the form $\min$ in range $[l, i]$. This should return the minimum value in the range from $l$ to $i$ inclusive.
Of course, we can solve this problem using a Segment Tree where each node stores the minimum in the respective range. This data structure allows us to carry out point updates in $O(\log n)$ time, and answer range queries in $O(\log n)$ time as well. This leads to a total complexity of $O(n\log n)$ for this problem.
I know that RMQ has been studied deeply and can be done in constant time for immutable data with some preprocessing. However, in this case we are doing updates.
Is this the best we can do? Is $O(n\log n)$ a lower bound on the problem?