poj 1200 hash

题意 给n 和nc, n是要找字串的长度。 nc 是总串里出现过的不同字符的个数。

求能在总串里找到长度为n的不同字串的个数。

 

开始想的是用 ELFhash 然后 数组链式法,结果 mle. 然后把链式改成 +1 式hash 然后 tle , 想阿想阿,最后还是没想出来。最后还是看了看discuss 上面说要 nc 进制 hash 想还是不会,稍微看了一下别人的程序才会的。

 

收获: 首先 hash的认识加深了,并不是只有这么样的hash,然后是 进制hash的 认识,这种hash不会出现冲突。  这个要证明一下。

 

 

进制hash确实没有冲突,但是进制hash 在计算的时候会花掉大量的时间。这是elfhash 比他好的地方。

然而 elfhash 由于冲突可能在查找的时候浪费大量的时间,况且这道题又是那么长的字串。  在这会浪费很多时间

 

这道题真正考的应该是掌握读题 充分理解提的意思。 根据题的 要求确定算法 。这是这道题比较好的地方

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值