摘要: 很好的一个题,思想特别6 题意:给你小写字母个数n,每个字母可以向上翻动,例如:d->c,a->z。然后给你m对数(L,R)(L<=R),表示[L,R]之间可以同时向上翻动,且翻动后是相同的类型。问你最后可以出现多少种不同的类型。 例如:abcabc只给你[1,3],那么abcabc==zababc 阅读全文
posted @ 2016-09-20 21:18 专注如一 阅读(311) 评论(0) 推荐(0) 编辑
摘要: 题意:给你一些模式串,再给你一串匹配串,问你在匹配串中出现了多少种模式串,模式串可以相同 AC自动机:trie树上进行KMP。首先模式串建立trie树,再求得失配指针(类似next数组),其作用就是在这一位不匹配时转移到失配指针上。失配指针是转移到某个等于此位置最长后缀的位置,求法是bfs 阅读全文
posted @ 2016-09-20 02:34 专注如一 阅读(205) 评论(0) 推荐(0) 编辑
摘要: 题意:给你一串字符串s,再给你两个数字m l,问你s中可以分出多少个长度为m*l的子串,并且子串分成m个长度为l的串每个都不完全相同 首先使用BKDRHash方法把每个长度为l的子串预处理成一个数字,接着根据题意直接map判重 BKDRHash:一种常用字符串hash,hash简单来说就是把一串字符 阅读全文
posted @ 2016-09-20 02:20 专注如一 阅读(161) 评论(0) 推荐(0) 编辑
摘要: 学到了以邻接表方式建立的hashmap 题意:给你一串数a和一个数k,都有正有负,问知否能找到一对数(i,j)(i<=j)保证a [i] - a [i+1] + a [i+2] - a [i+3]........(-1)^(j-i) a[j] 等于k 题解:想了很久才想出一个方法就是:记录前缀和,利 阅读全文
posted @ 2016-09-20 02:03 专注如一 阅读(187) 评论(0) 推荐(0) 编辑