[CSP-S 2022] 策略游戏
历年来最简单的 T2。
我们直接暴力分讨:
首先不考虑 \(0\)。
-
A 区间全为正数
(1) B 区间全为正数,A 取最大, B 取最小
(2) B 区间有正有负,A 取最小,B 取最小
(3) B 区间全为负数,A 取最小,B 取最小
-
A 区间有正有负
(1) B 区间全为正数,A 取最大,B 取最小
(2) B 区间有正有负,\(\max\)(A 正数最小 \(\times\) B 负数最小,A 负数最大 \(\times\) B 正数最大)
(3) B 区间全为负数,A 取最小,B 取最大
-
A 区间全为负数
(1) B 区间全为正数,A 取最大,B 取最大
(2) B 区间有正有负,A 取最大,B 取最大
(3) B 区间全为负数,A 取最小,B 取最大
上面这部分是经典的 RMQ 问题,使用线段树/ST 表解决均可。
回头来看比较特殊的 \(0\):
若 A 存在 0,答案对 0 取 max。
若 B 存在 0,答案对 0 取 min。
然后就做完了。
复杂度 \(O(n\log n)\)。