Problem#
(簡化)
有一組數列(ai),對所有i<j,求最大的ai−aj
想法#
O(n2)暴力會TLE,但觀察可以發現,對於每個aj,如果ai−aj要最大,那ai一定越大越好,所以可以直接維護一個最大值(M),代表從1∼i的最大。
只要掃一遍,就得到答案。(O(n))
AC Code#
https://github.com/roy4801/solved_problems/blob/master/uva/11078.cpp
其他解法#
單調隊列
https://csy54.github.io/2019/02/UVa-11078/
https://gist.github.com/roy4801/b417a1a65d2e43f3534f580a3bacd78d