CF2120G.Eulerian Line Graph
NOI/NOI+/CTSC
通过率:0%
AC君温馨提醒
该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。
题目描述
Aryan 比任何人都热爱图论。其实不然,他更喜欢向所有人炫耀他关于线图的论文。为了和你搭话,他决定给你出一道关于线图的问题。在图论中,一个简单无向图 G 的线图 L(G) 是另一个简单无向图,它表示 G 中每两条边之间的邻接关系。
具体来说,对于一个没有自环和重边的无向图 G,其线图 L(G) 满足:
- L(G) 的每个顶点对应 G 的一条边。
- 当且仅当 G 中对应的两条边有公共端点时,L(G) 中对应的两个顶点相邻。

此外,L0(G)=G,Lk(G)=L(Lk−1(G)),其中 k≥1。
欧拉迹(Euler trail)是一条经过图中每一条边恰好一次的边序列。该轨迹可以是路径(起点和终点不同)或回路(起点和终点相同)。在轨迹过程中,顶点可以重复经过,但每条边必须恰好经过一次。
Aryan 给你一个有 n 个顶点、m 条边的简单连通图 G 和一个整数 k,保证 G 存在欧拉迹,且 G 不是路径图∗。他要求你判断 Lk(G) 是否存在欧拉迹。
∗ 路径图是指每个顶点最多与另外两个顶点相连的树。
输入格式
每组测试数据包含多个测试用例。第一行包含测试用例数 t(1≤t≤104)。接下来是每个测试用例的描述。
每个测试用例的第一行包含三个用空格分隔的整数 n、m 和 k(5≤n≤2⋅105,n−1≤m≤min(2n⋅(n−1),2⋅105),1≤k≤2⋅105)。
接下来的 m 行,每行包含两个用空格分隔的整数 u 和 v(1≤u,v≤n,u=v),表示有一条边连接顶点 u 和 v。
保证所有测试用例中 n 和 m 的总和不超过 2⋅105。
输出格式
对于每个测试用例,如果 Lk(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) 与 G 同构。因此,既然 G 存在欧拉迹,L2(G) 也存在欧拉迹。
对于第二个测试用例,L(G) 如下图所示(图中 L(G) 的顶点 i−j 对应 G 中连接顶点 i 和 j 的边)。可以证明该图不存在欧拉迹。

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