2015年7月19日

manacher算法总结与模版

摘要: manacher:可以解决最长回文问题。算法:1.首先,将字符串的每个字符左右加入#,并在s0位置加入*(如果字符串中本身含有这些,则换成未出现过的字符),此时字符串的长度为len+len+3,即加入了len+1个#和一个*; (比如:aba变成 *#a#b#a#) 2.得到一个p数组,该数组... 阅读全文

posted @ 2015-07-19 22:29 小松song 阅读(497) 评论(0) 推荐(0)

HDU 3613(manacher)

摘要: 题目链接:题意:给出26个数字,代表a-z字母对应的价值,再给出一个字符串,求其切成两半总价值最大为多少,如果不是回文则价值为0.题解:利用manacher算法,求的前缀为回文或后缀为回文的每一个位置,如果一个点之前的前缀为回文,则会有p[i]-i==0 (此时p[i]-1为前缀的长度,p[i]-1... 阅读全文

posted @ 2015-07-19 22:06 小松song 阅读(249) 评论(0) 推荐(0)

POJ 3746 (打表)

摘要: 题目链接:http://poj.org/problem?id=3746题意:不想多说。。。题解:看代码。时间:0Ms内存:1892KB注:打表部分转自他人。。。。代码: 1 #include 2 #include 3 #include 4 #include 5 using namespac... 阅读全文

posted @ 2015-07-19 19:31 小松song 阅读(223) 评论(0) 推荐(0)

FZU1901(Next数组的应用)

摘要: 题目链接:http://acm.fzu.edu.cn/problem.php?pid=1901题意:求某个前缀,可以使得前缀和剩下部分能够一一对应,可以是原串。题解:Next数组的应用,首先 t=Next[len] 的意义是(假设1-t意思是前面t个字符):s[1....t]=s[len-t,len... 阅读全文

posted @ 2015-07-19 17:09 小松song 阅读(128) 评论(0) 推荐(0)

HDU 2609 (STL+hash+最小表示法)

摘要: 题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2609题意:给你n个等长含有 0 1 的字符串,字符串为环形,问一共有多少种串。题解:这题的方法是最小表示法+... 就是用最小表示法处理后,可以用很多方法解决,比如字典树、二叉树等等。楼主用的是hash... 阅读全文

posted @ 2015-07-19 16:52 小松song 阅读(158) 评论(0) 推荐(0)

最小表示法总结+模版

摘要: 最小表示法:当给定一个字符串时,求它最小表示的情况,比如:baab 最小表示情况为: aabb 即把第二位置的a变成第一个位置。最大表示法:比如 abcd 最大应为:dabc 基本概念和最小表示法相同。时间复杂度:o(n)应用:比较两个环形串是否是同一字符串、判重、判同分异构等。方法:使用两个指针(... 阅读全文

posted @ 2015-07-19 15:10 小松song 阅读(366) 评论(0) 推荐(0)

HDU 3374(KMP+最小表示法)

摘要: 题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=3374题意:给出字符串,求最小表示法和最大表示法,并输出有几次出现,其实就是最小循环节的个数题解:最小表示法求解,KMP求解最小循环节 最小循环节 = len - Next[len] 个数必须整出,如不整... 阅读全文

posted @ 2015-07-19 14:49 小松song 阅读(252) 评论(0) 推荐(0)

2015年7月17日

HDU2328 (暴力KMP)

摘要: 题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2328题意:输入一个不为0的整数n,再输入n个字符串,求n个字符串的最长公共连续子序列,并保证字典序最小。题解:直接暴力枚举。Times:764msMemory:1892KB代码如下: 1 #inclu... 阅读全文

posted @ 2015-07-17 16:42 小松song 阅读(190) 评论(0) 推荐(0)

HDU 1238 (暴力反转KMP)

摘要: 题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1238题意:给定n个字符串,求它们的最长连续子序列,值得注意的是,求的的子序列可以是反转的。题解:直接记录出最短的字符串作为匹配串,其实用第一个也应该是可以的,然后不断的缩小其长度,知道能够匹配成功,如果... 阅读全文

posted @ 2015-07-17 15:49 小松song 阅读(193) 评论(0) 推荐(0)

ACM成长之路

摘要: 注:转载自百度贴吧ACM队不是为了一场比赛而存在的,为的是队员的整体提高。大学期间,ACM队队员必须要学好的课程有:lC/C++两种语言l高等数学l线性代数l数据结构l离散数学l数据库原理l操作系统原理l计算机组成原理l人工智能l编译原理l算法设计与分析除此之外,我希望你们能掌握一些其它的知识,因为... 阅读全文

posted @ 2015-07-17 09:34 小松song 阅读(179) 评论(0) 推荐(0)

导航