PKU1159 palindrome
2010-08-01 00:02
302 查看
这道动态规划和我前几天做的括号序列基本一个思路,都是明显的线性结构,状态转移是十分简单的。但问题是这回规模不小……于是,我傻乎乎地开了个5000*5000的数组MLE,想到了滚动数组之后又做了无数次多余的取模运算TLE……哎……
program palindrome; var f:array[0..5005,0..2] of longint; st:ansistring; i,j,k,n,a,b,c:longint; begin assign(input,'a.in'); reset(input); assign(output,'a.out'); rewrite(output); readln(n); readln(st); a:=(-1) mod 3; b:=(-2) mod 3; for k:=1 to n-1 do begin c:=b; b:=a; a:=k mod 3; j:=k; for i:=1 to n-k do begin inc(j); if st[i]=st[j] then f[i,a]:=f[i+1,c] else if f[i,b]<f[i+1,b] then f[i,a]:=f[i,b]+1 else f[i,a]:=f[i+1,b]+1; end; end; writeln(f[1,a]); close(input); close(output); end.
相关文章推荐
- pku_1159_Palindrome
- pku 1159 Palindrome
- [动态规划]Pku1159--Palindrome
- PKU 1159 Palindrome
- PKU 1159 Palindrome
- pku 1159 Palindrome DP LCS 变形
- pku 1159 Palindrome(DP)
- Pku acm 1159 Palindrome
- pku 1159 Palindrome 使用滚动数组
- hdu1513 pku 1159Palindrome
- PKUOJ1159 Palindrome
- PKU-1159 Palindrome (最长公共子序列LCS)
- pku_1159 Palindrome
- POJ 1159: Palindrome
- POJ--1159:Palindrome (DP求最长公共子序列)
- poj 1159 Palindrome(lcs类似dp)
- POJ - 1159 - Palindrome (LCS + 优化)
- Palindrome--poj 1159(最长公共子字符串+滚动数字)
- 线性DP POJ 1159 Palindrome
- POJ-1159 Palindrome (dp+滚动数组节省内存)