描述:给出一个单词,在单词中插入若干字符使其为回文串,求回文串的个数(|s|#include#include#includeusing namespace std;#define maxn 410#define mod 10007typedef int ll;struct marix{ int...
分类:
其他好文 时间:
2015-04-16 12:18:58
阅读次数:
219
题意:有一个字符串,问可以切割成尽量少的多少个回文串。
题解:f[i]表示前i的字符串有多少个尽量少的回文串,用一个数组flag[i][j]表示字符串从位置i到位置j是否是一个回文串,如果是的话,f[i] = min{f[i - 1] + 1, f[j - 1] + 1}。
#include
#include
#include
using namespace std;
const int...
分类:
其他好文 时间:
2015-04-13 23:02:16
阅读次数:
166
http://acm.hdu.edu.cn/showproblem.php?pid=5202字符串处理的题,要细心。给定一个只包含小写字母和问号的字符串,让我们还原出本来的字符串,把问号替换成任意字符,如果有多种可能输出字典序最小的,原字符串不能是回文串。首先判断有没有非法字符,然后是否包含问号,如...
分类:
其他好文 时间:
2015-04-12 11:53:11
阅读次数:
174
Title :Determine whether an integer is a palindrome. Do this without extra space.思路1 : 将数字翻转,然后看是否相等。是否越界的问题,如果真是回文串是不会越界的class Solution {public: i...
分类:
其他好文 时间:
2015-04-12 11:52:10
阅读次数:
99
题意:给一个串s,按顺序一个个加入到序列里面。输出每次加入之后序列中的本质不同的回文串个数。回文自动机模板题- -extend函数里面,如果那个if进去了,就代表多了一个本质不同的回文串。 1 #include 2 #include 3 const int MAXN=100000+5; 4 cons...
分类:
其他好文 时间:
2015-04-12 01:22:34
阅读次数:
145
UVa 10739 String to Palindrome(经典回文串区间DP)题意:给定一个字符串,可以对其进行删除,插入,替换操作。问最少经过几次操作,可以使这个字符串变成回文字符串。思路:看得别人的 题解,最优化问题,用较为直接的方法处理时发现情况很复杂,很多时候就要考虑动态规划了。先从整体...
分类:
其他好文 时间:
2015-04-11 13:14:52
阅读次数:
123
题目:输入一个字符串,求其中最长的回文子串。子串含义:在原串中连续出现的字符串片段。回文的含义就是正着看和倒着看相同,如aabb,yyxyy。在判断时,应该忽略所有出现的标点和空格,且忽略大小写,但应该保持原样输出。输入字符长度不超过5000,且单独占一行。应该输出最长的回文串,如果有多个,输出起始位置最靠左的。
样例输入:Confuciuss say:Madam,I'm Adam.
...
分类:
其他好文 时间:
2015-04-09 08:52:53
阅读次数:
136
Manacher算法 啊……Manacher修改一下就好啦~蛮水的…… Manacher原本是找首尾相同的子串,即回文串,我们这里是要找对应位置不同的“反回文串”(反对称?233) 长度为奇数的肯定不满足>_>(中间那个字符无论如何不反对称) 那么我们就找'#'为中心的即可…… 将判断条件...
分类:
其他好文 时间:
2015-04-07 19:18:05
阅读次数:
165
Manacher算法/DP 找出所有的回文串,看做是一个个线段,那么问题就转化成了用最少的线段将整个区间覆盖起来,可以重叠,那么这就是一个DP了= = Orz ZKY大爷,让蒟蒻开眼界了……头一次知道原来树状数组还可以反过来用0.0 1 /****************************.....
分类:
其他好文 时间:
2015-04-07 17:24:19
阅读次数:
145
Manacher算法 找出一个最长子串S=X+Y,且X和Y都是回文串,求最长的长度是多少…… 同时找两个串明显很难搞啊……但是我们可以先找到所有的回文串!在找回文串的同时我们可以预处理出来l[i]和r[i]分别表示从 i 这个位置开始向左/右最长的回文串有多长,那么我们枚举两个回文串的分割点更新.....
分类:
其他好文 时间:
2015-04-07 13:21:59
阅读次数:
106