2010年11月21日
摘要: [栈]http://222.200.98.145:8000/JudgeOnline/showproblem?problem_id=1146 这题解法不多,我只想到递归式解法.这道题想出解法不难,但如果对栈没有很好地理解实现起来是很棘手的.递归的解法最容易想了,但这里字符串长度可达350000, 递归很容易TLE, 曾写过一个递归的,TLE了. 只能用递归的思想->栈来写,也就是说用栈模拟递归. 解法思路: 从字符串左往右遍历, 遇到'(' , 放进栈里, 栈size加1.遇到')'时,开始处理.前面必有一个'('与之对应,则这对'( 阅读全文
posted @ 2010-11-21 16:05 Kenfly 阅读(447) 评论(0) 推荐(1) 编辑
摘要: [记忆搜索_DP]http://222.200.98.145:8000/JudgeOnline/showproblem?problem_id=1065题意: 给一个字符串,求出最长的对称字符串,输出其长度, 这里的对称与一般的palindrome不同,这里允许跳跃.如给一个字符串: "aferegga", 最长的palindrome是"aerea"而不是"ere".很容易找出解: ans[f+1][t-1]+2, string[f]=string[t].ans[f][t]= 0, f>t. 1, f=t. max{ans[f][ 阅读全文
posted @ 2010-11-21 03:25 Kenfly 阅读(273) 评论(0) 推荐(0) 编辑