![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
哈希技术
文章平均质量分 77
冷月残星
这个作者很懒,什么都没留下…
展开
-
中途相遇法,哈希技术(和为0的4个值,uva 1152)
题目具有对称性,则可以同时从两边出发来找答案,因为时间复杂度由最大的决定,因此让两边时间复杂度尽量一样可以降低总体的时间复杂度,此题中n^2logn+n^2logn试了下map,9秒超时,用哈希3.540秒。还是快很多的。因为map随着数据量的增多,logn的时间复杂度开始拖慢速度。而哈希大部分时候都是O(1),极端情况下是O(n)。极端情况一般都不用考虑,除非题目是特殊设原创 2016-08-23 15:55:57 · 796 阅读 · 0 评论 -
暴力,STL,哈希技术,Floyd判圈算法(计算器谜题,uva 11549)
想了老半天,只会暴力,然后就过了。。实现由三种方法,一是STL,而是哈希技术,三是Floyd判圈法。就速度而言,Floyd判圈法>哈希技术>STL。分别跑了70ms,180ms,480ms。STL真是慢的可以。就空间而言,Floyd判圈法也就是说,STL与哈希技术在空间和时间上各有千秋,但Floyd判圈法完爆一切= =。关于Floyd判圈法的一些理解。F原创 2016-10-25 00:26:01 · 2861 阅读 · 0 评论 -
伸展树,LCP(uva,11996)
讲道理,基于哈希值的字符串算法真的很不错。因为unsigned long long高达1e19,而算法竞赛中字符串长度不可能大于1e6,毕竟如果再大,那就连经典字符串算法都无法在短时间求得结果了O(nlongn)。所以重复的概率为1e6*1e6/1e19=1e-7,即只有0.00001%的概率会重复。在本题中HASH值取3是可以的,而2是不可以的。因为2是unsigned long long最原创 2017-01-28 15:49:04 · 540 阅读 · 0 评论 -
bfs,hash,康托展开(UESTC 485,Game)
一开始时间复杂度算错了。。。当时想一共9!个状态,1000组数据,那么总运算量为3.62880e8,只要数据稍微水一点,那不就过了嘛~~然而我又搞错了,不但没有考虑编码解码的时间复杂度,更没有考虑状态转移的时间复杂度。当时觉得编码解码,状态转移都是常数嘛,直接无视不就好啦。而且前面几题暴力做,结果时间才一点点,所以以为这题也一样。(好吧其实还是自己一直都没算对时间复杂度)事实上状态原创 2017-05-03 13:12:41 · 278 阅读 · 0 评论