算法
文章平均质量分 92
真不想起名TAT
这个作者很懒,什么都没留下…
展开
-
kmp
KMP笔记xdg想骗吃骗喝,奈何本人能力不足,没能实现他的愿望。(_)所以开始恶补kmp,并写下心得????实现功能实现两个字符串的区配,并实现相关功能。(目前遇到的情况有点少,以后多了一定补上。)暴力区配法想到字符串区配,我相信绝大部分人想到的是暴力搜索法。即一个个字符串相区配。既然容易想,但也有弊端,比方说 超时 ,非常容易想到最坏的情况是一个字符串区配到最后才适配上。其复杂度...原创 2019-09-12 16:41:09 · 192 阅读 · 0 评论 -
字典树学习
字典树学习在某一天,小蒟蒻正在愉快的用暴力解决一道水题,却没想到超时了,经大佬讲解,才知道这是经典的字典树,膜拜dalao。( •̀ ω •́ )✧ ORZ那么想要理解字典树,那么就要从最经典的查前前缀开始讲了如果用暴力的话,直接一个个对比就可以了,但是在求最大公共前缀的个数时,一个个进行对比,当进行检测时,避免不了过多的数据,那么超时是必不可免的了,毕竟,这是做了大量的...原创 2019-09-19 16:06:49 · 206 阅读 · 1 评论 -
字符串最小最大表示法(样题HDU-3374 String Problem)
字符串最小最大表示法爆肝模式开启o( ̄▽ ̄)ブ有没有想过,如何求一个字符串的最大(最小)的表示方法,以下思维是从一个字符串中,找到最大的字母所在的位置,然后拼连成最大or最小的字符串。我们先从一个简单的例子谈起吧,比方说ABCD,那我可以有几种形式表示呢?ABCD BCDA CDAB DABC我们可以通过两个指针 X,Y来标记其基本思路如下令x=0,y=1如果S[x...原创 2019-09-23 16:43:44 · 211 阅读 · 0 评论 -
Manacher算法
Manacher算法爆肝计划我是个只会暴力的小蒟蒻,每天面临着许多超时问题/(ㄒoㄒ)/~~有一天,我刷着题,超时了,大佬看了说了一声:马拉车。我想了想,马不是一直拉车吗?肯定在开玩笑。直到他让我去学学,我才知道是这个马拉车ಥ_ಥ。马拉车主要应用在求一个字符串中最长的子字符串的长度,马拉车是个奇妙的算法,他巧妙的利用了线性思维解题,但是它又是局限性极高的算法,他只能解决这一类问题ㄟ(...原创 2019-09-26 19:54:34 · 108 阅读 · 0 评论 -
Z算法(EXKMP)
Z算法(EXKMP)爆肝计划刚开始接触时,疑惑于Z算法和EXKMP,二者的作用基本相似,我就想,既然起了不一样的名字,那么他们的解题思路必然不一样吧。我又经过了网上大量收集资料,发现有的大佬是两个和一块成一个感念,有的是单独讲一个,这让我小蒟蒻很为难,最后在大佬的指路下去了去了OI WIKI,然后知道他俩是合在一块的,连接再此。但是EXKMP多了next数组,为了方便,在这里就开始讲z算法...原创 2019-09-27 16:50:17 · 1466 阅读 · 0 评论 -
Hash 算法(A - Crazy Search)
Hash 算法入门(A - Crazy Search)我相信 ,喜欢看电影,玩游戏的同学们,肯定知道下载完进行数据检测的过程,实际上这就是哈希算法的应用,也就是说,把一整个数据优化成更简的MD5码。有人可能会问能不能把MD5码转为原数据呢?要是你能做出来的话,我代表人类感谢你。不过hash有点麻烦,而且有点困难,这次我从简单的字符转换讲吧,什么哈希冲突的,等我学的更多的时候补上吧。我们直...原创 2019-09-27 20:12:33 · 265 阅读 · 0 评论 -
AC自动机
AC自动机爆肝计划✪ ω ✪我搞不懂AC自动机是什么?大佬对我说:自动机=tiri树+kmp;我求大佬再详细点,他说你弄懂了,还是这个式子。w(゚Д゚)w ヾ(•ω•`)o(蒟蒻) (大佬)在这里先发一个大佬的连接吧。[洛谷日报第44期]强势图解AC自动机,在这里我就详细讲一下过程应用方向:举一个常见的例子吧:就是给...原创 2019-09-28 17:40:12 · 142 阅读 · 0 评论 -
我回来填坑了(01字典树)
我回来填坑了(01字典树)前几天讲了字典树,说要讲变式回来填坑了我们要明白01字典树在处理异或问题十分高效01字典树是按位插入和查询的。因为如果一个数,它的高位值较大,那么这个数的值较大。所以我们插入和查询时是从最高位开始进行的。01字典树是一棵最多 32层的二叉树,其每个节点的两条边分别表示二进制的某一位的值为 0 还是为 1. 将某个路径上边的值连起来就得到一个二进制串。...原创 2019-09-28 17:57:43 · 143 阅读 · 0 评论