#CF2044F. Easy Demon Problem

    ID: 6929 传统题 1000ms 256MiB 尝试: 1 已通过: 1 难度: 10 上传者: 标签>二分暴力数据结构数学数论CodeforcesCodeforces Round 993(Div4)Div4FCF2044F1900

Easy Demon Problem

题目描述

机器人定义了一个网格的美丽值,就是其中所有元素的总和。现在他给了你两个数组:一个长度为 nn 的数组 aa 和一个长度为 mm 的数组 bb。你的任务是利用这两个数组建立一个 n×mn \times m 的网格 MM,其中 Mi,j=aibjM_{i,j} = a_i \cdot b_j 对于所有的 1in1 \leq i \leq n1jm1 \leq j \leq m 均成立。

接下来,机器人会提供 qq 个查询。对于每个查询,会给出一个整数 xx。你的目标是判断是否可以通过以下操作,使得网格 MM 的美丽值恰好为 xx

  1. 选择一行 rr 和一列 cc,满足 1rn1 \leq r \leq n1cm1 \leq c \leq m
  2. 将所有在第 rr 行或第 cc 列,或者同时位于这两者交叉处的元素设为 00

需要注意的是,各个查询之间是相互独立的,这意味着你不必实际修改网格的元素为零——你只需判断是否存在这样的一对 rrcc,如果进行上述操作能使网格的美丽值为 xx。即便网格的初始美丽值已经是 xx,你仍然需要选择行和列并执行这个操作。

输入格式

第一行包含三个整数 nnmmqq,分别表示数组 aa 的长度、数组 bb 的长度,以及要处理的查询数量(1n,m2×1051 \leq n, m \leq 2 \times 10^51q5×1041 \leq q \leq 5 \times 10^4)。

第二行是 nn 个整数,表示数组 aa 中的元素:a1,a2,,ana_1, a_2, \ldots, a_n0ain0 \leq |a_i| \leq n)。

第三行是 mm 个整数,表示数组 bb 中的元素:b1,b2,,bmb_1, b_2, \ldots, b_m0bim0 \leq |b_i| \leq m)。

接下来的 qq 行中,每行包含一个整数 xx,表示希望网格经过设零操作后的美丽值(1x2×1051 \leq |x| \leq 2 \times 10^5)。

输出格式

对于每个查询,如果存在一种操作能使网格的美丽值变为 xx,输出「YES」(不带引号);否则输出「NO」(不带引号)。无论「YES」或「NO」的大小写如何(例如,「yES」、「yes」或「Yes」),系统都会识别为正确答案。

本翻译由 AI 自动生成

样例

3 3 6
-2 3 -3
-2 2 -1
-1
1
-2
2
-3
3
NO
YES
NO
NO
YES
NO
5 5 6
1 -2 3 0 0
0 -2 5 0 -3
4
-3
5
2
-1
2
YES
YES
YES
YES
NO
YES

样例说明

In the second example, the grid is

0 -2 5 0 -3

0 4 -10 0 6

0 -6 15 0 -9

0 0 0 0 0

0 0 0 0 0

By performing the operation with r=4 r=4 and c=2 c=2 , we create the following grid:

0 0 5 0 -3

0 0 -10 0 6

0 0 15 0 -9

0 0 0 0 0

0 0 0 0 0

which has beauty 4 4 . Thus, we output YES.

In the second query, selecting r=3 r=3 and c=5 c=5 creates a grid with beauty 3 -3 .

In the third query, selecting r=3 r=3 and c=3 c=3 creates a grid with beauty 5 5 .

来源

Codeforces 2044F,英文题名 Easy Demon Problem。