Given a string, determine if it is a palindrome, considering only alphanumeric characters and ignoring cases.For example, "race a car"isnota palindro....
分类:
其他好文 时间:
2014-10-17 06:26:33
阅读次数:
239
初看好简单 一开始调试着一直re 后来也不知道怎么就对了 但是还有一些bug存在 ,
这道题的打印路径和light oj An Easy LCS(ps:点击打开链接)一样
但是只改一下会Tle 因为(1000*1000*1000)好大
但是把存储的字符串改为string 定义的就过了
但是还是有一点有点难受(下面会说出)
我也是醉了
#include
#include...
分类:
其他好文 时间:
2014-10-07 02:36:42
阅读次数:
405
有人问你,一个字符串中最长的回文字串是谁? 作为一个 2B 青年, 一年前的我会这样回答:暴力枚举每个字串,判断合法与否? ╮(╯▽╰)╭ 就是没什么戏。。。。 后来,在机房的一个大牛的介绍下,我知道了 Manacher 算法。 。。。。。。。。。。。。。。。。。。。。。。。。。。。。 ...
分类:
其他好文 时间:
2014-09-25 00:56:57
阅读次数:
282
原理讲的清晰:Manacher's ALGORITHM: O(n)时间求字符串的最长回文子串注意:①动态生命P[]和newStr数组后,不要忘记delete[] //其实这是基本的编码习惯②最终返回结果是P[i]-1下面是自己写的Manacher函数int manacher(char *src){ ...
分类:
其他好文 时间:
2014-09-20 19:44:09
阅读次数:
213
/*
题意:给你一个字符串,寻找按照字典序排的下一个符合条件的字符串
下一个满足的字符串一定是改变尽量靠右的字符才能得到(字典序),
从最右面开始找,假设当前是第i位,如果i位增加之后满足和i-1,i-2位均不相同的话,
那么最小的肯定就是从这里开始改的(因为前缀没有回文字串,所以改变i位后的串也不会有),
接下来就把后面的为都补全。
*/
# include
# include
# includ...
分类:
其他好文 时间:
2014-09-09 13:24:38
阅读次数:
202
回文字符串
时间限制:3000 ms | 内存限制:65535 KB
难度:4
描述 所谓回文字符串,就是一个字符串,从左到右读和从右到左读是完全一样的,比如"aba"。当然,我们给你的问题不会再简单到判断一个字符串是不是回文字符串。现在要求你,给你一个字符串,可在任意位置添加字符,最少再添加几个字符,可以使这个字符串成为回文字符串。
输入第一行给出整数N(0
接下来的N行,每行...
分类:
其他好文 时间:
2014-09-06 09:45:53
阅读次数:
252
比较水的动态规划
dp[i][j] 将原串 i ~ j 之内的字符转化为回文字符所需要的最小操作次数
其中删除操作和添加操作本质上是一样的。
三个状态转移方程:
dp[i][j] = min(dp[i][j] ,dp[i + 1][j]);
dp[i][j] = min(dp[i][j] ,dp[i + 1][j - 1]);
dp[i][j] = min(dp[i][j] ,dp...
分类:
其他好文 时间:
2014-09-04 19:05:40
阅读次数:
189
关于字符串的子串问题,我们经常需要利用的是已经访问的部分的信息,来降低复杂度,和提高效率;在求最长回文子串的问题中,Manacher's algorithm提供了一种很好的机制,虽然部分地方不太容易理解先说下核心的思想:先对原字符串进行预处理,将字符串"abc"转换为"$#a#b#c#"的形式,既避...
分类:
其他好文 时间:
2014-09-02 22:52:05
阅读次数:
230
??
题意 给一个字符串 判定其是否为回文串和镜像串 回文串很好判断 镜像串对于每一个字符用数组保存它的镜像字符就行了 没有的就是空格
注意若字符串长度为奇数 中间那个字母必须是对称的才是镜像串
#include
#include
#include
const int N = 35;
int l;
char s[N], mc[] = "A 3 HIL JM O ...
分类:
其他好文 时间:
2014-08-30 10:00:09
阅读次数:
179