随笔分类 - 搜索
摘要:康托展开和康托展开的逆运算 相当于排列的hash 记住对于每一位,求比较小且没出现过的数有多少个,数的个数乘上阶乘就好了
阅读全文
摘要:数独问题,暴搜。 有一个优化,优先搜索可填位置少的 同时一个位置一个位置填,一次一个位置就好 可以用二进制储存状态
阅读全文
摘要:一般来说剪枝有以下几类 (1)优化搜索顺序 比如一些有多个物品然后凑重量的题就可以重量大的优先,根据重量排序 (2)排除等效冗余 这是我最容易忽略的一点。在拼木棍那题中有淋漓尽致的体现 (3)可行性剪枝 如果当前无论如何都无法到达递归边界就剪掉 (4)最优性剪枝 这个就很常见了,形如if(now >
阅读全文
摘要:这道题的钥匙只有10个,可以压成二进制这里有有句非常关键的话(k & door[x][y]) == door[x][y]一开始以为只要(k & door[x][y]) ==1就可以了后来发现如果door[x][y]为0的话,这句话就不对了。所以要包含这里没有门的情况所...
阅读全文