给定一个无向连通简单图 $G$(简单图的意思是无自环无重边),它的一个边覆盖是 $G$ 的边集 $E$ 的子集 $S$,使得 $G$ 的点集 $V$ 中的任意一个点都出现在$S$中的至少一条边中。这个边覆盖的大小定义为 $S$ 包含的边数。如果 $S$ 是所有 $G$ 的边覆盖中最小的,则称 $S$ 是图 $G$ 的最小边覆盖。
Gallai 证明了对任意无向连通简单图,它的最大匹配的大小加上最小边覆盖的大小一定等于它的点数。
于是,为了求出一个无向简单图的最小边覆盖,我们可以首先使用带花树算法求出它的最大匹配,然后仿照 Gallai 定理的证明构造出一个最小边覆盖。
这道题给定了无向连通简单图 $G$ 的点集,和图 $G$ 的边的一个子集 $S$,但没有给出边集 $E$。试判断 $S$ 有没有可能是图 $G$ 的最小边覆盖。
第一行两个正整数 $n$ 和 $m$ 表示图 $G$ 的点数和 $S$ 的大小($1\le n\le 200000,1\le m\le 300000$)。接下来 $m$ 行每行两个正整数 $a,b$ 表示 $S$ 中的一条边 ${a,b}$(点从$1$到$n$编号,保证$S$中没有自环和重边)。
如果存在一个无向连通图 $G$,使得$G$的点集是 ${1,\ldots,n}$,且 $G$ 的边集包含 $S$,且 $S$ 是 $G$ 的一个最小边覆盖,则输出 "Yes"。否则输出 "No"。
4 2 1 2 3 4
Yes
4 3 1 2 2 3 3 4
No