小乖和小坏在玩一个游戏,游戏中有一个长度为 n 的数组a1,a2,...,an 和一个固定的整数k。游戏规则如下,双方都会执行最优策略:
第一步,小乖选择一个非空的区间 [l,r],将这个区间中的所有数字都乘上 k。
第二步, 小坏选择一个非空的区间 [l,r], 将这个区间中的所有数字都乘上 k。
以下思路考场能AC,但是有点问题。
定义dp[i][j][0]代表a[i,...,j]中连续子段的最小值
定义dp[i][j][1]代表a[i,...,j]中连续子段的最大值
可以采用二维循环求出dp数组。
之后枚举小乖选择哪个子段,然后计算这个子段情况下小坏所能达到的最小贡献,并取最大值即为最终答案。