菜鸟对于hash思想的总结:
首先hash的作用就是为了使所谓的访问复杂度能够达到O(1)水平。利用hash还要学会防止相应的冲突,也是映射能够一一对应的保证。
常用的hash函数有:
1. 在解决八数码问题时,利用了康托展开,因为逆序数的范围为0~8,对应的康托展开项数为九项,两者之间存在一一对应的关系。
对应题目:hdu 1043
2.在算一个串的字串是否重复时,可以利用BKDR哈希函数来构造,且我们可以利用O(n)的思想来算前缀或后缀所对应的BKDR值,然后可以利用O(1)的复杂度来求一个字串的BKDR值
对应题目:hdu 4821 2954 1381
3.。。。。待续