上一页 1 ··· 5 6 7 8 9 10 11 12 下一页
摘要: 题意:给你一些模式串,再给你一串匹配串,问你在匹配串中出现了多少种模式串,模式串可以相同 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) 编辑
摘要: 好题 题意:给你n<=100000个数,每个数范围[0,1000],然后给你一个最大的代价T,每次最多合并k个数成为一个数,代价为k个数的总和。问最后合成1个数的总代价不大于T的最小k 题解:我们首先知道当k越大,总代价会越小,这样我们就找到了单调性,可以二分k看是否满足代价(又见最大值最小化问题) 阅读全文
posted @ 2016-09-17 21:42 专注如一 阅读(186) 评论(0) 推荐(0) 编辑
摘要: 拓展kmp是对KMP算法的扩展,它解决如下问题: 定义母串S,和字串T,设S的长度为n,T的长度为m,求T与S的每一个后缀的最长公共前缀,也就是说,设extend数组,extend[i]表示T与S[i,n-1]的最长公共前缀,要求出所有extend[i](0<=i<n)。 注意到,如果有一个位置ex 阅读全文
posted @ 2016-09-16 23:21 专注如一 阅读(157) 评论(0) 推荐(0) 编辑
摘要: 很不错的一个题(注意string会超时) 题意:给你n串字符串,问你两两匹配形成n*n串字符串中有多少个回文串 题解:我们首先需要想到多串字符串存储需要trie树(关键),然后我们正序插入倒序匹配就可以O(len)找到回文串个数了。 但是如果每次直接查询到结尾的话会漏掉两种情况 如: 1:a 与 b 阅读全文
posted @ 2016-09-16 23:19 专注如一 阅读(207) 评论(0) 推荐(0) 编辑
摘要: 题意:给你一串n个数,求出循环来看一阶差的最小字典序:数字串看成一个顺时针的环,从某一点开始顺时针循环整个环,保证字典序最小就是答案 例如给你 2 1 3 就会得到(1-2+8 注意题意负数需要加8) (3-1) (2-3+8)-> 7 2 7 答案就是2 7 7。 典型的最小表示法。线性时间内求出 阅读全文
posted @ 2016-09-16 01:16 专注如一 阅读(270) 评论(0) 推荐(0) 编辑
摘要: 题意:假设有n个人按顺序的身高分别是h[1], h[2] ... h[n],从中挑出一些人形成一个新的队形,新的队形若满足以下要求,则就是新的完美队形: 1、连续的 2、形成回文串 3、从左到中间那个人,身高需保证不下降 问有组成完美队形的最多人数 题解:Manacher算法的变形。 首先我们来解释 阅读全文
posted @ 2016-09-14 22:38 专注如一 阅读(298) 评论(0) 推荐(0) 编辑
摘要: 题意:给你两串数字,长度分别为n和m,数字大小在[1,25]。当后一串数字每个数字的排名位置与前一串数字(任一长度为m的子串)每个数字的排名位置一致时就完全匹配,最后求哪些位置是完全匹配的。 例如:1 4 2 5 3 6 与 1 3 2 4 答案就是:1 3(第一串数字的第一个位置开始与第三个位置开 阅读全文
posted @ 2016-09-14 21:33 专注如一 阅读(263) 评论(0) 推荐(0) 编辑
摘要: 正难则反的思想还是不能灵活应用啊 题意:给你n个点,每个点有一个权值,接着是n-1有向条边形成一颗有根树,问你有多少对点的权值乘积小于等于给定的值k,其中这对点必须是孩子节点与祖先的关系 我们反向思考,可以知道任一点都只对其每个祖先有贡献。所以我们可以转化为求每个点与其每个祖先的乘积小于等于给定的值 阅读全文
posted @ 2016-09-13 22:29 专注如一 阅读(159) 评论(0) 推荐(0) 编辑
上一页 1 ··· 5 6 7 8 9 10 11 12 下一页