题目地址:Ural 1635
又是输出路径的DP。。。连着做了好多个了。。
状态转移还是挺简单的。要先预处理出来所有的回文串,tag[i][j]为1表示字符串i--j是一个回文串,否则不是回文串。预处理时要用n^2的方法,即枚举回文串中间,可以分奇数和偶数两种分别求一次。
然后dp转移方程为,若tag[j][i]==1,dp[i]=min(dp[i],dp[j-1]+1);
对于最令人讨厌...
分类:
其他好文 时间:
2014-10-23 22:46:34
阅读次数:
295
/*** strrchr - 查找指定字符在字符串中的最后一次出现 * strrpos — 计算指定字符串在目标字符串中最后一次出现的位置* end — 将数组的内部指针指向最后一个单元* pathinfo — 返回文件路径的信息* 可以通过参数 options 指定要返回哪些单元。* 它们...
分类:
Web程序 时间:
2014-10-23 22:21:22
阅读次数:
315
static void Main(string[] args) { DateTime dt1 = DateTime.Now; string text = "abcdedcba"; bool bYes = Recv(tex...
分类:
编程语言 时间:
2014-10-23 16:04:34
阅读次数:
187
题目链接:http://poj.org/problem?id=2217题目大意: 求两个串的最长公共子串,注意子串是连续的,而子序列可以不连续。解题思路:有个炒鸡快的O(n)的Manacher算法。不过只能求裸的最长公共和回文子串。后缀数组解法是这类问题的模板解法。对于n个串的最长公共子串,这要把这...
分类:
编程语言 时间:
2014-10-23 12:09:09
阅读次数:
252
序言:在不知道jsoup框架前,由于项目需求,需要定时抓取其他网站上的内容,便想到用HttpClient方式获取指定网站的内容,这种方法比较笨,就是通过url请求指定网站,根据指定网站返回文本解析。说白了HttpClient充当一下浏览器的角色,返回的文本需要自己处理,一般都是用string.indexOf或者string.subString方法处理。
当有一天发现jsoup这个...
分类:
Web程序 时间:
2014-10-23 00:11:44
阅读次数:
181
题目详情:Njzy学习了回文串后联想到了回文数,他希望统计出一个区间内的全部回文数。如今给定一个闭区间[a,b],求这个区间里有多少个回文数。比方[20,30],仅仅有一个回文数那就是22.输入描写叙述: 输入包括多组測试数据,每组測试数据包括两个整数a,b,(0#include using nam...
分类:
其他好文 时间:
2014-10-22 21:34:06
阅读次数:
161
把原串复制一份反过来接在原串后面,中间用没出现过的字符隔开,然后跑后缀数组,在原创枚举每一个位为回文中心(分奇偶讨论),则回文串长度相当于原串与反串对应位置的lcp,所以先用ST预处理,然后查询。复杂度O(nlogn)#include#include#include#include#include....
分类:
编程语言 时间:
2014-10-22 20:11:18
阅读次数:
270
【题目】
将一个很长的字符串,分割成一段一段的子字符串,子字符串都是回文字符串。有回文字符串就输出最长的,没有回文就输出一个一个的字符。
例如:habbafgh
输出h,abba,f,g,h。
【思路一】
基于“最长回文子串算法”求出当前字符串的最长回文子串,就可以分成3部分
a、最长回文子串left部分
b、最长回文子串
c、最长回文子串right部分
然后分别...
分类:
其他好文 时间:
2014-10-22 15:55:45
阅读次数:
231
Given a string, determine if it is a palindrome, considering only alphanumeric characters and ignoring cases.
For example,
"A man, a plan, a canal: Panama" is a palindrome.
"race a car" is not a...
分类:
其他好文 时间:
2014-10-21 23:16:15
阅读次数:
293
题意:一个长为N的字符串( 3
题目链接:http://poj.org/problem?id=1159
——>>状态:dp[i][j]表示第i个字符到第j个字符组成的字符串变成回文串的最少插入次数。
状态转移方程:
若sz[i] == sz[j],则:dp[i][j] = dp[i + 1][j - 1];
否则:dp[i][j] = min(dp[i + 1][j], dp[i][j...
分类:
编程语言 时间:
2014-10-21 21:37:52
阅读次数:
247