CF2120G.Eulerian Line Graph

NOI/NOI+/CTSC

通过率:0%

AC君温馨提醒

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

题目描述

Aryan 比任何人都热爱图论。其实不然,他更喜欢向所有人炫耀他关于线图的论文。为了和你搭话,他决定给你出一道关于线图的问题。在图论中,一个简单无向图 GG 的线图 L(G)L(G) 是另一个简单无向图,它表示 GG 中每两条边之间的邻接关系。

具体来说,对于一个没有自环和重边的无向图 GG,其线图 L(G)L(G) 满足:

  • L(G)L(G) 的每个顶点对应 GG 的一条边。
  • 当且仅当 GG 中对应的两条边有公共端点时,L(G)L(G) 中对应的两个顶点相邻。

此外,L0(G)=GL^0(G)=G,Lk(G)=L(Lk−1(G))L^k(G)=L(L^{k-1}(G)),其中 k≥1k\geq 1。

欧拉迹(Euler trail)是一条经过图中每一条边恰好一次的边序列。该轨迹可以是路径(起点和终点不同)或回路(起点和终点相同)。在轨迹过程中,顶点可以重复经过,但每条边必须恰好经过一次。

Aryan 给你一个有 nn 个顶点、mm 条边的简单连通图 GG 和一个整数 kk,保证 GG 存在欧拉迹,且 GG 不是路径图∗^{\text{∗}}。他要求你判断 Lk(G)L^k(G) 是否存在欧拉迹。

∗^{\text{∗}} 路径图是指每个顶点最多与另外两个顶点相连的树。

输入格式

每组测试数据包含多个测试用例。第一行包含测试用例数 tt(1≤t≤1041 \le t \le 10^4)。接下来是每个测试用例的描述。

每个测试用例的第一行包含三个用空格分隔的整数 nn、mm 和 kk(5≤n≤2⋅1055 \le n \le 2 \cdot 10^5,n−1≤m≤min⁡(n⋅(n−1)2,2⋅105)n-1 \le m \le \min(\frac{n\cdot(n-1)}{2}, 2 \cdot 10^5),1≤k≤2⋅1051 \le k \le 2 \cdot 10^5)。

接下来的 mm 行,每行包含两个用空格分隔的整数 uu 和 vv(1≤u,v≤n1 \le u,v \le n,u≠vu \neq v),表示有一条边连接顶点 uu 和 vv。

保证所有测试用例中 nn 和 mm 的总和不超过 2⋅1052\cdot 10^5。

输出格式

对于每个测试用例,如果 Lk(G)L^k(G) 存在欧拉迹,输出 "YES";否则输出 "NO"。

输出不区分大小写。例如,"yEs"、"yes"、"Yes" 和 "YES" 都会被识别为肯定回答。

输入输出样例

  • 输入#1

    4
    5 5 2
    1 2
    2 3
    3 4
    4 5
    5 1
    5 6 1
    1 2
    2 3
    3 4
    4 5
    5 1
    1 3
    10 11 3
    1 2
    2 3
    3 4
    4 5
    4 6
    4 7
    5 7
    6 7
    7 8
    8 9
    9 10
    7 8 2
    1 3
    2 3
    1 4
    4 5
    2 5
    1 6
    6 7
    2 7

    输出#1

    YES
    NO
    YES
    NO

说明/提示

对于第一个测试用例,L2(G)L^2(G) 与 GG 同构。因此,既然 GG 存在欧拉迹,L2(G)L^2(G) 也存在欧拉迹。

对于第二个测试用例,L(G)L(G) 如下图所示(图中 L(G)L(G) 的顶点 i−ji-j 对应 GG 中连接顶点 ii 和 jj 的边)。可以证明该图不存在欧拉迹。

由 ChatGPT 4.1 翻译

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

首页