题意
给你一张无向连通图,你并不知道有哪些边,你首先要回答这张图是否是二分图,如果是,回答这张图黑白染色过后的任意一个点集。你需要在2000次询问内找到结果,每次你可以询问原图中一个边集删掉后是否还连通。
\(n\le 200\)
分析
- 考虑先得到一棵树,再根据这棵树的黑白染色的结果划分成两个点集,如果是二分图则除去点集之间的边不存在其他的边。如果不是,在此基础上一定有一条树边删除之后整个图仍然连通。
- 考虑不断删掉图上的边,如果一条边删除之后不连通则保留,可以证明操作之后一定能够得到一棵树。
- 这个过程显然可以二分,如果直接对整个边集进行二分成本太高,考虑类似bfs的方式不断地把已知点集扩大,每个点最多一次废操作,算下来刚好2000次。