W
e
l
c
o
m
e
: )

[CSP-S 2022] 策略游戏

link

历年来最简单的 T2。

我们直接暴力分讨:

首先不考虑 \(0\)

  1. A 区间全为正数

    (1) B 区间全为正数,A 取最大, B 取最小

    (2) B 区间有正有负,A 取最小,B 取最小

    (3) B 区间全为负数,A 取最小,B 取最小

  2. A 区间有正有负

    (1) B 区间全为正数,A 取最大,B 取最小

    (2) B 区间有正有负,\(\max\)(A 正数最小 \(\times\) B 负数最小,A 负数最大 \(\times\) B 正数最大)

    (3) B 区间全为负数,A 取最小,B 取最大

  3. 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)\)

code

posted @ 2022-10-30 17:07  127_127_127  阅读(162)  评论(0编辑  收藏  举报