先说下我最开始的思路
我设计的估价函数是这么想的,因为估价函数必须优于实际情况嘛,我就考虑每走一步会改变什么,不难发现会把一些新的点加入连通块,我就让每一步中本来不该加入连通块(因为颜色不同)但是相连的点加入连通块,相当于每一步都加入了更多的块,肯定会比实际操作更优
比如说这个图
第一步加入这些块
第二步加入这些块
第三步加入这些块
第四步加入这些块
所以至少要四步
但是这么写就会让码量很大,而且每次都要从头开始BFS,又要用STL,会导致常数太大TLE
看了标准答案发现估价函数比我的简单得多,具体随便点开一个题解看看就可以了
最主要的是题解的代码,每次只用从上一次的边缘开始搜索,而且是DFS没用STL,每次还不用改颜色(用一个变量代表左上角的那个连通块的颜色就可以了),导致常数很小,实际运行比我的最开始的思路快的多
所以以后flood-fill也可以考虑用dfs来实现
标签:连通,估价,加入,STL,194,题解,acwing,涂满 From: https://www.cnblogs.com/dingxingdi/p/17857258.html