這題題意很清晰,就是求取區間和-區間最大值的最大
如果我們考慮直接求區間和再減最大值,顯然複雜度比較高
是以考慮枚舉每個位置,然後找到以他為最大值的最大區間
那麼答案就是這段區間l-r中,i-r中的字首和最大值減去l-1-i中字首和最小值,這就是這段區間的最大和,之後減去目前位置即可
這種最大最小字首和可以直接用st表維護表示區間的最大字首和。
![](https://img.laitimes.com/img/9ZDMuAjOiMmIsIjOiQnIsISPrdEZwZ1Rh5WNXp1bwNjW1ZUba9VZwlHdsATOfd3bkFGazxCMx8VesATMfhHLlN3XnxCMwEzX0xiRGZkRGZ0Xy9GbvNGLpZTY1EmMZVDUSFTU4VFRR9Fd4VGdsYTMfVmepNHLrJXYtJXZ0F2dvwVZnFWbp1zczV2YvJHctM3cv1Ce-YWan5yMllDZkRjNmZjN0ADNwUjYyYWOyE2YkRTNwATZyQGZy8CX4AzLchDMxIDMy8CXn9Gbi9CXzV2Zh1WavwVbvNmLvR3YxUjL5M3Lc9CX6MHc0RHaiojIsJye.gif)
View Code
沒有人不辛苦,隻有人不喊疼
這題題意很清晰,就是求取區間和-區間最大值的最大
如果我們考慮直接求區間和再減最大值,顯然複雜度比較高
是以考慮枚舉每個位置,然後找到以他為最大值的最大區間
那麼答案就是這段區間l-r中,i-r中的字首和最大值減去l-1-i中字首和最小值,這就是這段區間的最大和,之後減去目前位置即可
這種最大最小字首和可以直接用st表維護表示區間的最大字首和。
View Code
沒有人不辛苦,隻有人不喊疼