CF2023C.C+K+S

提高+/省选-

通过率:0%

AC君温馨提醒

该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。

题目描述

给您两个强连接 1^{1} 有向图,每个图都有恰好 nn 个顶点,但可能有不同数量的边。仔细观察后,您发现了一个重要特征--这两个图中任何一个循环的长度都能被 kk 整除。

每个 2n2n 顶点都属于两种类型中的一种:传入或传出。每个顶点的类型都是已知的。

您需要确定是否有可能在源图之间绘制恰好 nn 条有向边,从而满足以下四个条件:

  • 任何添加的边的两端都位于不同的图中。
  • 从每个传出顶点,正好有一条新增边产生。
  • 在每个进入的顶点中,正好有一条添加边进入。
  • 在生成的图中,任何循环的长度都能被 kk 整除。

1^{1}强连接图是指从每个顶点到其他顶点都有一条路径的图。

输入格式

每个测试由多个测试用例组成。第一行包含一个整数 tt ( 1≤t≤1041 \le t \le 10^4 )--测试用例数。测试用例说明如下。

每个测试用例的第一行包含两个整数 nn 和 kk ( 2≤k≤n≤2⋅1052 \le k \le n \le 2 \cdot 10^5 )--每个图形的顶点数和每个循环的长度可整除的值。

每个测试用例的第二行包含 nn 个整数 a1,a2,…,ana_1, a_2, \ldots, a_n ( ai∈{0,1}a_i \in \{0, 1\} )。如果 ai=0a_i = 0 ,则第一个图形的顶点 ii 进入。如果是 ai=1a_i = 1 ,那么第一个图形的顶点 ii 是传出的。

每个测试用例的第三行包含一个整数 m1m_1 ( 1≤m1≤5⋅1051 \le m_1 \le 5 \cdot 10^5 ) - 第一个图中的边数。

接下来的 m1m_1 行包含对第一个图的边的描述。其中 ii 行包含两个整数 viv_i 和 uiu_i ( 1≤vi,ui≤n1 \le v_i, u_i \le n )--第一个图形中从顶点 viv_i 到顶点 uiu_i 的一条边。

接下来以同样的格式描述第二个图形。

下一行包含 nn 个整数 b1,b2,…,bnb_1, b_2, \ldots, b_n ( bi∈{0,1}b_i \in \{0, 1\} )。如果是 bi=0b_i = 0 ,那么第二个图形的顶点 ii 是进入的。如果是 bi=1b_i = 1 ,那么第二个图形的顶点 ii 是传出的。

下一行包含一个整数 m2m_2 ( 1≤m2≤5⋅1051 \le m_2 \le 5 \cdot 10^5 )--第二个图形中的边数。

接下来的 m2m_2 行包含对第二个图的边的描述。其中 ii 行包含两个整数 viv_i 和 uiu_i ( 1≤vi,ui≤n1 \le v_i, u_i \le n )--第二个图中从顶点 viv_i 到顶点 uiu_i 的一条边。

可以保证这两个图都是强连接的,并且所有循环的长度都能被 kk 整除。

保证所有测试案例中 nn 的总和不超过 2⋅1052 \cdot 10^5 。保证所有测试用例中 m1m_1 与 m2m_2 之和不超过 5⋅1055 \cdot 10^5 。

输出格式

对于每个测试用例,如果可以绘制 nn 条新边且满足所有条件,则输出 "YES"(不带引号),否则输出 "NO"(不带引号)。

您可以输出任何情况下的答案(例如,字符串 "yEs"、"yes"、"Yes "和 "YES "将被视为肯定答案)。

输入输出样例

  • 输入#1

    3
    4 2
    1 0 0 1
    4
    1 2
    2 3
    3 4
    4 1
    1 0 0 1
    4
    1 3
    3 2
    2 4
    4 1
    3 3
    0 0 0
    3
    1 2
    2 3
    3 1
    1 1 0
    3
    1 2
    2 3
    3 1
    4 2
    1 1 1 1
    4
    1 2
    2 3
    3 4
    4 1
    0 0 0 0
    6
    1 2
    2 1
    1 3
    3 1
    1 4
    4 1

    输出#1

    YES
    NO
    YES

说明/提示

样例解释

在第一个测试用例中,从第一个图到第二个图的边可以绘制为 (1,3)(1, 3) 和 (4,2)(4, 2) (这对边中的第一个数字是第一个图中的顶点编号,这对边中的第二个数字是第二个图中的顶点编号),从第二个图到第一个图的边可以绘制为 (1,2)(1, 2) 和 (4,3)(4, 3) (这对边中的第一个数字是第二个图中的顶点编号,这对边中的第二个数字是第一个图中的顶点编号)。

在第二个测试案例中,共有 44 个进入顶点和 22 个离开顶点,因此无法绘制 33 条边。

输入解题思路,AI测评打分。不知道怎么写?

首页