【刷题计划1】【poj分类转载】

博主分享了他们的刷题计划,重点集中在字符串算法上,包括KMP算法、trie树、AC自动机、manacher算法、后缀数组、后缀自动机和hash等。计划每天做基础算法题和Codeforces上的3题,目标是在省赛前按计划坚持训练。文章列举了多个涉及字符串算法的在线判题平台题目,供读者参考和练习。
摘要由CSDN通过智能技术生成
----------------2018.4.10更新-----------------------
原本这只是暑假刷题计划,后来因为某些原因,自己就不是很努力的刷题,现在情况有变,so,重新继续咯~

下个月26号省赛,扣去中间实训的一周时间和几次校赛,大概只有一个月时间。

目前计划是,每天基础算法题+cf上3题,专业课也先停了,自己这段时间只想认真写题。

昨天晚上又失眠了,虽然我知道保证训练效率的关键是得休息好,但是真的睡不着,大概是焦虑吧。这一次,不想功利性把比赛得奖当做最终目的,因为这除了让我更焦虑,改变不了任何问题。

冷静下来想了这样一个问题,这次省赛,我到底要达到怎样的目标,才算是一次成功?

自己的回答是,只要这一个月,我按照计划坚持下来,就算是对自己的一个交代。

网上找了各类题集,到时候挑题来写。

【字符串】

原博客地址

字符串专题算是搞得差不多了,来大概总结一下吧。

要掌握的算法:

1、KMP算法

作用是两个串之间的匹配,核心思想是pre[i]表示串B的最长的前缀与以i为结尾的后缀相同,每次匹配失败时,从i跳到pre[i]就可以了。

2、trie树

作用是存储许多个串,核心思想是除根节点每个点表示一个字母,从根节点到每个点的路径表示一个字符串,单词节点打上标记

3、AC自动机

作用是多个串的匹配,KMP+trie树,核心思想是fail[i]表示长度最长的某个前缀是i节点所代表的字符串的一个后缀,通过fail[i]处理出ch[x][i]表示x节点加入一个i字符后转移到的节点。注意可以结合dp来考察。

4、manacher算法

作用是处理出以每个位置为中心的最长回文串长度,核心思想是记录一个最长的延伸到的地方,利用对称的思想处理出一个当前位置的起始值,之后暴力匹配,比较神奇,时间复杂度很好证明。

5、后缀数组

作用是对单个字符串后缀排序,求两个后缀的LCP,核心思想是sa数组和height数组的求法,详见论文,不再过多赘述。

6、后缀自动机

作用是对单串建立自动机,能够给接受该串的每个子串,核心思想是每个节点代表多个字符串,其中每个节点的right集合相同,记录一个fa[i]表示最小的right集合使i的right集合是它的子集,具体还是要看论文。应用更加广泛。

7、hash

作用是判断两个字符串是否相同,核心思想是……

各大OJ的字符串题目:

1、hdu2222 Keywords Search

2、hdu2896 病毒侵袭

3、hdu3065病毒侵袭持续中

4、poj2778 DNA Sequence

5、hdu2243 考研路茫茫――单词情结

6、hdu2825 Wireless Password

7、hdu2296 Ring

8、hdu2457 DNA repair

9、hdu3341 Lost's revenge

10、ZOJ3494 BCD Code

11、poj1743 Musical Theme

12、poj1816 Wild Words

13、poj2752 Milking Grid

14、poj2774 Long Long Message

15、poj3376 Finding Palindromes

16、poj3415 Common Substrings

17、poj3208 Apocalypse Someday

18、poj3261 Milk Patterns

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值