Football Team(2009 Round 3C)
题意
在一个平面上给出N个球员的坐标,每个人的 x 坐标不同,相邻的球员要穿上不同颜色的意思。 ( x 1 , y 1 ) (x_1,y_1) (x1,y1) 和 ( x 2 , y 2 ) (x_2,y_2) (x2,y2) 相邻的条件为:
- y 1 − 1 ≤ y 2 ≤ y 1 + 1 y_1-1≤y_2≤y_1+1 y1−1≤y2≤y1+1
- 没有球员在满足 x 1 < x 3 < x 2 x_1<x_3<x_2 x1<x3<x2 的位置上 ( x 3 , y 2 ) (x_3,y_2) (x3,y2)
求最少染色数。
范围
1 ≤ y ≤ 15 , 1 ≤ N ≤ 1000 1≤y≤15,1≤N≤1000 1≤y≤15,1≤N≤1000
分析
居然翻了半天都没有在网上找到这道题的题解,惊了。
首先,显然把这个问题转化为图的模型,以队员为顶点,在相邻的队员间连边,这个问题就转化为了图的着色问题。
普通的着色问题是 NP 的,那就再看看题目能发现什么。
- 平面图
四色定理:任意平面图都可以用不超过四种颜色染色。
则这道题里颜色只有1,2,3,4四种可能。
色数为一:不含边的图
色数为二:二分图
色数为三和四不太好区分,下面分别一下。
-
内部都是三角形
先假设内部可以不是三角形,发现很容易找到问题,四边形时中间那条边必然能连。所以反证成立。
一旦确定了一个三角形的着色,那么有公共边的三角形剩下的一个顶点的颜色也就唯一确定了。有公共点的三角形其实剩下的两个点的染色情况相同考虑。
因此,要判断色数是否可能是3,只需要考虑有公共边的三角形形成的子图分配三个色是否引起冲突就可以了。