CF379G New Year Cactus
题目描述
Jack 和 Jill 现在不再喜欢新年树了,他们家里有一株新年仙人掌!一株仙人掌是一种连通无向图,其中任意两个简单环至多有一个公共顶点。换句话说,这个图中不存在某条边位于多于一个简单环上。
12 月 31 日,他们准备装饰仙人掌,在它的顶点上悬挂玩具。每个顶点最多只能挂一个玩具,挂的要么是 Jack 的玩具,要么是 Jill 的玩具。当然,也可以不挂玩具。
由于 Jack 和 Jill 发生了争执,他们不希望任何一条边连接的两个顶点分别挂有 Jack 的玩具和 Jill 的玩具。
现在,Jack 决定挂 $a$ 个玩具。请你求出,在两人都合作使 Jill 悬挂玩具尽可能多的情况下,Jill 最多可以挂多少个玩具 $b$。你的任务是编写程序,计算出对于 $a$ 从 $0$ 到新年仙人掌顶点数 $n$ 所有情况下的最大 $b$。
输入格式
第一行包含两个整数 $n$ 和 $m$($1\leq n\leq 2500,\ n-1\leq m$),分别表示顶点数和边数。接下来 $m$ 行,每行包含两个整数 $a$ 和 $b$($1\leq a,b\leq n,\, a\neq b$),表示存在一条连接顶点 $a$ 和 $b$ 的无向边。任意一对顶点之间至多有一条边。
输出格式
第一行输出 $b_{a}$ 的值(对于所有 $0 \leq a \leq n$),即在仙人掌上挂了 $a$ 个 Jack 的玩具时,Jill 最多可以挂的玩具数。$b_{a}$ 按 $a$ 增序输出,数之间用空格隔开。
说明/提示
第二个样例中的仙人掌如下所示:

由 ChatGPT 5 翻译