• 维护的是一个严格单增的序列:则需要找到单调栈中第一个大于等于他的数(lower_bound),如果直接找第一个大于他的数找到替换,那么当单调栈中存在一个和他相等的数,则单调栈不再严格单增
  • 维护的是一个非减的序列:则需要找到第一个大于它的数(upper_bound),找到后替换即可,因为这样提供一个更多相等序列的机会,比如单调栈中是1 2 2 3,而当前元素是2 ,那么新的单调栈是1 2 2 2,而不应该是1 2 2 3