放牧代码和思想
专注自然语言处理、机器学习算法
    Why join the Navy if you can be a pirate?

算法

Wu Manber多模式匹配算法

Wu Manber多模式匹配算法

hankcs阅读(137)评论(1)

AC自动机中,转移的最小单位是一个字符。也就是说,匹配后只能移动一个字符,复杂度是线性的$O(n)$。然而线性并非最快,Boyer-Moore算法在匹配后可以跳过多个字符,比线性还快。据说在实践中,利用Boyer-Moore优化的AC自动机...

题解《挑战程序设计竞赛》系列完结

题解《挑战程序设计竞赛》系列完结

hankcs阅读(1377)评论(7)

断断续续花了三年时间,终于看完这本书,完成了所有习题。看书有很多种看法,开卷有益是一种,自始至终是另一种。有些题目很难,至今AC数只有数十人。据此估计,完整读完这本书的人应该不超过十这个量级。 读书的动机也有很多种,我既不是运动员,也不为面...

POJ 1509 Glass Beads 题解《挑战程序设计竞赛》

POJ 1509 Glass Beads 题解《挑战程序设计竞赛》

hankcs阅读(446)评论(0)

POJ 1509 Glass Beads  降临:在电影《降临》中,七肢桶使用了一种环形语言。给定一个环状字符串,求从哪个字符断开并反转后得到的字符串字典序最小? 4.7华丽地处理字符串  后缀数组  将环切断...

Codeforces 25E Test 题解《挑战程序设计竞赛》

Codeforces 25E Test 题解《挑战程序设计竞赛》

hankcs阅读(414)评论(0)

Codeforces 25E Test  出题:众所周知,程序竞赛测试数据越变态越好玩。已知3个字符串会使选手的程序出错,出题者想构造一个超级变态数据同时包含这3个字符串。求该母串最小长度。 4.7华丽地处理字符串  字...

我的开源项目

HanLP自然语言处理包基于DoubleArrayTrie的Aho Corasick自动机