题意:\(n\times m\)的矩阵,初始有一些点,任意矩形的三个角有点,第四个角就自动生成点,可以在中途加点,问最终把矩阵填满需要至少加几个点
很巧妙的转化……
考虑每个点连接了它所在的行和列
用并查集维护
那么有矩形的三个顶点,就会把两行两列合并到同一个联通块,相当于有第四个顶点
在同一个集合的行和列,他们的交点就有数字
那么最后答案就是联通块个数-1
示例程序:
1 |
|
题意:\(n\times m\)的矩阵,初始有一些点,任意矩形的三个角有点,第四个角就自动生成点,可以在中途加点,问最终把矩阵填满需要至少加几个点
很巧妙的转化……
考虑每个点连接了它所在的行和列
用并查集维护
那么有矩形的三个顶点,就会把两行两列合并到同一个联通块,相当于有第四个顶点
在同一个集合的行和列,他们的交点就有数字
那么最后答案就是联通块个数-1
示例程序:
1 |
|