摘要:
靶形数独是一个经典的NP完全问题,没有多项式算法,显然需要搜索,递归回溯会优于枚举。然而此题数据范围大,如果朴素搜索显然肯定TLE,于是我们就需要一些优化。 1.在搜索中,每次我们都需要查找当前格子的可填数字,如果用二进制数集存储的话,可以大大减少运行时间。对于一个格子(x,y),可选数字为x行、y列、所在九宫格的可选数字集合的交集,用二进制存储,利用位运算实现,可过75%的数据。 2.贪心优化。如果是人做数独,必然先考虑可填数小的格子,本题也是如此。如果只是简单地从上往下搜索,会产生很多无用的状态,如果先填可填数小的格子,可以给其它的格子更多的限制,剪去许多不可行的分支。前面填的格子... 阅读全文
posted @ 2011-10-20 19:26
N_C_Derek
阅读(786)
评论(0)
推荐(0)