随笔分类 -  ACM/数据结构

摘要:The Minimum Length Problem's Link: http://acm.hust.edu.cn/problem/show/1010 Mean:给你一个字符串,求这个字符串的最小循环节。 analyse: KMP之next数组的运用。裸的求最小循环节。 ... 阅读全文
posted @ 2015-07-28 08:05 北岛知寒 阅读(270) 评论(0) 推荐(0) 编辑
摘要:Period Problem's Link: http://acm.hdu.edu.cn/showproblem.php?pid=1358 Mean:给你一个字符串,让你从第二个字符开始判断当前长度的字符串是否是重复串,如果是,输出当前位置,并输出重复串的周期。 analyse:... 阅读全文
posted @ 2015-07-28 07:31 北岛知寒 阅读(233) 评论(0) 推荐(0) 编辑
摘要:Annoying problem Problem's Link: http://acm.hdu.edu.cn/showproblem.php?pid=5296 Mean:给你一个有根树和一个节点集合S,初始S为空,有q个操作,每个操作要么从树中选一个结点加入到S中(不删除树中节点),... 阅读全文
posted @ 2015-07-22 15:09 北岛知寒 阅读(181) 评论(0) 推荐(0) 编辑
摘要:涉及到字符串的问题,无外乎这样一些算法和数据结构:自动机 KMP算法 Extend-KMP 后缀树 后缀数组 trie树 trie图及其应用。当然这些都是比较高级的数据结构和算法,而这里面最常用和最熟悉的大概是kmp,即使如此还是有相当一部分人也不理解kmp,更别说其他的了。当然一般的字符串问题中, 阅读全文
posted @ 2015-07-20 18:19 北岛知寒 阅读(263) 评论(0) 推荐(0) 编辑
摘要:fail指针可以说是AC自动机里最难理解的东西,怎样更好的理解AC自动机的fail指针? 先来看一幅图: 看这幅图上的fail指针是怎么构造的. 树上的词分别是: { he , hers , his , she} 按图所示分成3层。看到第三层,是"she",其中: ①s指向root ②h先找到s的f 阅读全文
posted @ 2015-07-19 20:41 北岛知寒 阅读(876) 评论(0) 推荐(1) 编辑
摘要:Problem's Link Mean: 有n个模式串和一篇文章,统计有多少模式串在文章中出现(正反统计两次). analyse: 好久没写AC自动机了,回顾一下AC自动机的知识。 本题在构造文章的时候需要仔细一点,其他没什么Trick,和普通AC自动机做法一样: build Trie > buil 阅读全文
posted @ 2015-07-17 11:38 北岛知寒 阅读(262) 评论(0) 推荐(0) 编辑
摘要:E. A Simple Task Problem's Link: http://codeforces.com/problemset/problem/558/E Mean: 给定一个字符串,有q次操作,每次操作将(l,r)内的字符升序或降序排列,输出q次操作后的字符串。 analyse: 基本思想是计 阅读全文
posted @ 2015-07-15 23:59 北岛知寒 阅读(821) 评论(0) 推荐(0) 编辑
摘要:找连续数 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 179 Accepted Submission(s): 65 Problem Descr 阅读全文
posted @ 2015-05-30 22:29 北岛知寒 阅读(386) 评论(0) 推荐(0) 编辑
摘要:Calculate the FunctionProblem's Link: http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemCode=3772Mean:略analyse:简单的线段树维护矩阵。矩阵乘法的结合律(a * b * c == ... 阅读全文
posted @ 2015-05-25 21:54 北岛知寒 阅读(185) 评论(0) 推荐(0) 编辑
摘要:Boring counting Problem's Link: http://acm.hdu.edu.cn/showproblem.php?pid=3518 Mean: 给你一个字符串,求:至少出现了两次(无重叠)的子串的种类数。 analyse: 后缀数组中height数组的运用,一般这个数组用得 阅读全文
posted @ 2015-05-09 18:25 北岛知寒 阅读(364) 评论(0) 推荐(0) 编辑
摘要:Best RewardProblem's Link: http://acm.hdu.edu.cn/showproblem.php?pid=3613Mean:给你一个字符串,每个字符都有一个权值(可能为负),你需要将这个字符串分成两个子串,使得这两个子串的价值之和最大。一个子串价值的计算方法:如果这个... 阅读全文
posted @ 2015-05-06 22:37 北岛知寒 阅读(165) 评论(0) 推荐(0) 编辑
摘要:Problem 1564 - A - Circle Problem's Link: http://acm.whu.edu.cn/land/problem/detail?problem_id=1564 Mean: 给你一个长度不超过1e6的数字串,求第k大的环状数字串的前面那个位置。 analyse: 阅读全文
posted @ 2015-04-20 19:01 北岛知寒 阅读(351) 评论(0) 推荐(0) 编辑
摘要:Dancing Link详解:http://www.cnblogs.com/grenet/p/3145800.htmlDancing Link求解数独:http://www.cnblogs.com/grenet/p/3163550.html对于求解9*9的数独,貌似Dancing Linking算法... 阅读全文
posted @ 2015-04-16 21:41 北岛知寒 阅读(152) 评论(0) 推荐(0) 编辑
摘要:1017 - Exact coverProblem's Link: http://acm.hust.edu.cn/problem/show/1017Mean:给定一个由0-1组成的矩阵,是否能找到一个行的集合,使得集合中每一列都恰好包含一个1analyse:初学DLX。这是DLX处理的最简单的问题,... 阅读全文
posted @ 2015-04-14 23:26 北岛知寒 阅读(191) 评论(0) 推荐(0) 编辑
摘要:Long Long Message Problem's Link:http://poj.org/problem?id=2774 Mean: 求两个字符串的最长公共子串的长度。 analyse: 前面在学习后缀数组的时候已经做过一遍了,但是现在主攻字符串hash,再用字符串hash写一遍。 这题的思路 阅读全文
posted @ 2014-10-04 22:08 北岛知寒 阅读(501) 评论(0) 推荐(0) 编辑
摘要:Oulipo Problem's Link Mean: 给你一个模式串P和一个母串S,让你统计P串在S串中出现的次数. analyse: 一开始想到的就是使用KMP,就用KMP写了,93ms,挺快的. 我又用AC自动机写了一遍,万万没想到竟然超时了. 后来看别人有用字符串hash写的,于是又用字符串 阅读全文
posted @ 2014-10-04 12:15 北岛知寒 阅读(315) 评论(0) 推荐(0) 编辑
摘要:Milking GridProblem's Link:http://poj.org/problem?id=2185Mean:给你一个n*m的字符矩阵,让你求这个字符矩阵的最小覆盖矩阵,输出这个最小覆盖矩阵的面积。analyse:做了上一篇博客的题目,就会求一个字符串的最小覆盖矩阵。同样的,现在求字符... 阅读全文
posted @ 2014-10-03 22:04 北岛知寒 阅读(328) 评论(0) 推荐(1) 编辑
摘要:KMP与最小覆盖子串最小覆盖子串:对于某个字符串s,它的最小覆盖子串指的是长度最小的子串p,p满足通过自身的多次连接得到q,最后能够使s成为q的子串。比如:对于s="abcab",它的最小覆盖子串p="abc",因为p通过在它后面再接上一个p(即重叠0个字符),可以得到q="abcabc",此时s是... 阅读全文
posted @ 2014-10-02 22:25 北岛知寒 阅读(518) 评论(0) 推荐(1) 编辑
摘要:求最长回文串的利器 - Manacher算法Manacher主要是用来求某个字符串的最长回文子串.不要被manacher这个名字吓倒了,其实manacher算法很简单,也很容易理解,程序短,时间复杂度为O(n).求最长回文子串这个问题,我听说有个分治+拓展kmp的算法,后缀数组也可以.但是对于求回文... 阅读全文
posted @ 2014-10-01 13:14 北岛知寒 阅读(621) 评论(0) 推荐(2) 编辑
摘要:What's Aho-Corasick automaton? 一种多模式串匹配算法,该算法在1975年产生于贝尔实验室,是著名的多模式匹配算法之一。 简单的说,KMP用来在一篇文章中匹配一个模式串;但如果有多个模式串,需要在一篇文章中把出现过的模式串都匹配出来,就需要Aho-Corasick aut 阅读全文
posted @ 2014-09-30 23:18 北岛知寒 阅读(5272) 评论(0) 推荐(3) 编辑

点击右上角即可分享
微信分享提示
主题色彩