首页 > 试题广场 >

图的团分割最小块数

[编程题]图的团分割最小块数
  • 热度指数:9 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 256M,其他语言512M
  • 算法知识视频讲解
\hspace{15pt}
        题目来源:https://atcoder.jp/contests/abc187/tasks/abc187_f
        给定一个简单无向图,包含 N 个顶点与 M 条边。顶点编号为 1,2,\dots,N,第 i 条边连接顶点 A_i 与顶点 B_i。允许从图中删除任意条边(可为 0 条)。
\hspace{15pt}定义删除后得到的图的每个连通分量必须满足:对该分量内的任意一对不同顶点 (a,b),若 a<b,则删边后图中存在一条直接连接 ab 的边。等价地,删边后每个连通分量的诱导子图为完全图(团)。
\hspace{15pt}在满足上述条件的所有删边方案中,求图的连通分量数量的最小可能值。

\hspace{15pt}【名词解释】
\hspace{23pt}\bullet\, 简单无向图简单无向图 指不含自环与重边的无向图。
\hspace{23pt}\bullet\, 连通分量连通分量 指图中一个极大连通子图;任意两个顶点均有路径相连,且无法再加入其他顶点保持连通。
\hspace{23pt}\bullet\, 团(完全图) 指一组顶点的诱导子图为完全图,即该组顶点之间的每一对都存在边相连。

输入描述:
\hspace{15pt}第一行输入两个整数 N,M,表示顶点数与边数,满足 1\leqq N\leqq 180\leqq M\leqq \frac{N(N-1)}{2}
\hspace{15pt}接下来 M 行,每行输入两个整数 A_i,B_i,表示一条无向边,满足 1\leqq A_i<B_i\leqq N,且任意两条输入边不同,即 (A_i,B_i)\neq (A_j,B_j) 对所有 i\neq j
\hspace{15pt}所有输入均为整数。


输出描述:
\hspace{15pt}输出一个整数,表示在满足条件的删边方案下,图的连通分量数量的最小可能值。
示例1

输入

3 2
1 2
1 3

输出

2

说明

\hspace{15pt}样例解释:不删边时,顶点 23 同处一个连通分量但不直接相连,违反条件。删除边 (1,2)(1,3) 之一后,顶点 23 被断开,各分量均为团,最少分量数为 2
示例2

输入

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

输出

1

说明

\hspace{15pt}样例解释:原图为完全图,若不删除任何边,整图即为一个团,分量数最小为 1
示例3

输入

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

输出

5

说明

\hspace{15pt}样例解释:通过适当删边可使每个连通分量成为团,且无法使分量数少于 5
示例4

输入

18 0

输出

18

这道题你会答吗?花几分钟告诉大家答案吧!