今天虽然只A了三个题,但感觉也算是扎扎实实的三道题,分别是数独,涂颜色,分两组。
数独这道题很明显是深搜,9*9的方格填满数,使得横排,竖排,和9个3*3的小方块只有1到9不重复的九个数,该题的关键就是做好数字使用过的标记,要做三个vis[i][j]。然后就只需要吧空着的方块填入判断填数字,递归到填满为止,其中技巧无非是对vis3[][](用来记录9个3*3的方块数字使用记录)(((x-1)/3)*3+(y-1)/3)+1;),还有就是可以把空着的点用一个向量记录下来,依次取出填数字。
涂颜色题(我起的名)就是对一个点涂了一种颜色,会影响该点所连接的点不可涂同种颜色,问给所有点图上颜色最少要多少种颜色,这道题貌似不是搜索题,我就是把点依次取出,找出哪些点会影响到这个点,并且这些点还有颜色,那么对这些颜色进行记录,最后依次从1号色依次开始找起,若找到没被用过的颜色,那么给这个点使用。这道题是我A的比较快的一道题,从分析题意,寻找关系,完成代码,都比较顺利,可能比较简单,反正不是一道搜索题。
最后的分组题,就是给了一张图,问怎样将图中点分成两部分,是两部分距离权值和最大,就是就是先将所有点放一边,逐个向另一边哪,深搜结束后自然出结果,这道题关键首先转移了点要判断,与该点同组的要对权值总和做减少,不同边的点要做权值和增加,还有就是搜索完该点就可以不管前面的了,直接开始对后面的搜索,详细在草纸上算下就很清楚。
休息是看了一会书,感觉收获不大,只是回忆起一些只是点,还是应该多看博客吧。