随笔分类 -  Algorithm---String Solving Problems

摘要:一道模拟题,来模拟进位暴力的从右往左扫描,按规则求后继就好了。除了Sample已给出的,还有一些需要注意的地方:9的后继是10,而不是00;(z)的后继是(aa),而不是a(a);输入虽然最长只有100,但输出最长可能有102。事实上题目中给的字符串后继规则,也是Ruby中String#succ或S... 阅读全文
posted @ 2015-04-09 16:41 Jeremy Wu 阅读(256) 评论(0) 推荐(0) 编辑
摘要:这也是一道例题给定一个字符串,求至少出现 k 次的最长重复子串,这 k 个子串可以重叠。算法分析:这题的做法和上一题差不多,也是先二分答案,然后将后缀分成若干组。不同的是,这里要判断的是有没有一个组的后缀个数不小于 k。如果有,那么存在k 个相同的子串满足条件,否则不存在。这个做法的时间复杂度为 O... 阅读全文
posted @ 2015-01-26 11:12 Jeremy Wu 阅读(518) 评论(0) 推荐(0) 编辑
摘要:和上一题一样,不过这题只是要求最长回文子串的长度在此采用了非常好用的Manacher算法据说还是O(n) 的效率QAQ详细用法参考了上篇博客的参考资料,这两天有空学习一下~Source code://#pragma comment(linker, "/STACK:16777216") //for c... 阅读全文
posted @ 2015-01-23 23:44 Jeremy Wu 阅读(184) 评论(0) 推荐(0) 编辑
摘要:最长回文子串 相关资料:1、暴力法2、动态规划3、中心扩展4、Manacher法http://blog.csdn.net/ywhorizen/article/details/6629268http://blog.csdn.net/kangroger/article/details/37742639在... 阅读全文
posted @ 2015-01-23 23:39 Jeremy Wu 阅读(111) 评论(0) 推荐(0) 编辑
摘要:解题思路:找到公共子串然后升序输出坑的地方就在于输入是存在相同字母的 1 #include 2 #include 3 #include 4 #include 5 #include 6 #define MIN( x, y ) ( (x) < (y) ? (x) : (y) ) 7 #define INF 0x7fffffff 8 #define KIND 26 9 #define MAXN 1210 using namespace std;11 12 char str[MAXN];13 int hash[KIND], ans[KIND];14 15 int main(){16 ... 阅读全文
posted @ 2014-04-03 16:35 Jeremy Wu 阅读(381) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示