2094: 策略游戏(game)
Description
小 L 和小 Q 在玩一个策略游戏。
有一个长度为 n 的数组 A 和一个长度为 m 的数组 B ,在此基础上定义一个大小 为 n × m 的矩阵 C ,满足 Cij = Ai × Bj 。所有下标均从 1 开始。
游戏一共会进行 q 轮,在每一轮游戏中,会事先给出 4 个参数 l1 r1 l2 r2 ,满足1 ≤ l1 ≤ r1 ≤ n 1 ≤ l2 ≤ r2 ≤ m。
游戏中,小 L 先选择一个 l1 ∼ r1 之间的下标 x,然后小 Q 选择一个 l2 ∼ r2 之间的下标 y。定义这一轮游戏中二人的得分是 Cxy 。
小 L 的目标是使得这个得分尽可能大,小 Q 的目标是使得这个得分尽可能小。同时两人都是足够聪明的玩家,每次都会采用最优的策略。
请问:按照二人的最优策略,每轮游戏的得分分别是多少?
Input
从文件 game.in 中读入数据。
第一行输入 3 个正整数 n, m, q,分别表示数组 A,数组 B 的长度和游戏轮数。
第二行:n 个整数,表示 Ai ,分别表示数组 A 的元素。
第三行:m 个整数,表示 Bi ,分别表示数组 B 的元素。
接下来 q 行,每行 4 个正整数,表示这一次游戏的 l1 , r1 , l2 , r2 。
Output
输出到文件 game.out 中。
输出共 q 行,每行一个整数,分别表示每一轮游戏中,小 L 和小 Q 在最优策略下的得分。
Sample Input Copy
3 2 2
0 1 ‐2
‐3 4
1 3 1 2
2 3 2 2
Sample Output Copy
0
4
HINT
【样例 1 解释】
这组数据中,矩阵 C 如下:
0 0 ‐3 4 6 ‐8
在第一轮游戏中,无论小 L 选取的是 x = 2 还是 x = 3 ,小 Q 都有办法选择某个 y 使得最终的得分为负数。因此小 L 选择 x = 1 是最优的,因为这样得分一定为 0。 而在第二轮游戏中,由于小 L 可以选 x = 2 ,小 Q 只能选 y = 2 ,如此得分为 4。
【样例 2 输入】
6 4 5 3 ‐1 ‐2 1 2 0 1 2 ‐1 ‐3 1 6 1 4 1 5 1 4 1 4 1 2 2 6 3 4 2 5 2 3【样例 2 输出】
0 ‐2 3 2 ‐1【数据范围】
对于所有数据,1 ≤ n, m, q ≤ 105 , −109 ≤ Ai , Bi ≤ 109 。对于每轮游戏而言,1 ≤ l1 ≤ r1 ≤ n, 1 ≤ l2 ≤ r2 ≤ m。
|
测试点编号 |
n, m, q ≤ |
特殊条件 |
|
1 |
200 |
1, 2 |
|
2 |
1 |
|
|
3 |
2 |
|
|
4∼5 |
无 |
|
|
6 |
1000 |
1, 2 |
|
7∼8 |
1 |
|
|
9 ∼ 10 |
2 |
|
|
11 ∼ 12 |
无 |
|
|
13 |
105 |
1, 2 |
|
14 ∼ 15 |
1 |
|
|
16 ∼ 17 |
2 |
|
|
18 ∼ 20 |
无 |
其中,特殊性质 1 为:保证 Ai,Bi > 0。
特殊性质 2 为:保证对于每轮游戏而言,要么 l1 = r1 , 要么 l2 = r2 。