poj1159 Palindrome 【最长回文子序列】
来源:互联网 发布:麻婆豆腐 日本 知乎 编辑:程序博客网 时间:2024/05/21 19:24
时间复杂度度是n^2,空间复杂度必须优化到n才可以过。
#include <cstdio>#include <cstring>#include <iostream>#include <algorithm>#include <vector>#include <queue>#include <set>#include <map>#include <string>#include <math.h>#include <stdlib.h>#include <time.h>//#include <bits/stdc++.h>#define rep(i,a,n) for(int i=a;i<n;i++)#define per(i,a,n) for(int i=n-1;i>=a;i--)#define pb push_backusing namespace std;typedef vector<int> VI;typedef long long ll;const ll mod=1000000007;const int N=2048;int dp[2][5000+10];char s[5000+10];int main(){ //freopen("in.txt","r",stdin); //freopen("out.txt","w",stdout); int n,now; while(~scanf("%d",&n)) { scanf("%s",s); memset(dp,0,sizeof(dp)); now=0; for(int j=0;j<n;j++) { now=!now; dp[now][j]=1; for(int i=j-1;i>=0;i--) { if(s[i]==s[j]) dp[now][i]=2+dp[now^1][i+1]; else dp[now][i]=max(dp[now^1][i],dp[now][i+1]); } } //for(int i=0;i<n;i++)printf("%d\n",dp[now][i]); printf("%d\n",n-dp[now][0]); } return 0;}
0 0
- poj1159 Palindrome 【最长回文子序列】
- poj1159 Palindrome(最长公共子序列)
- HDU1513 && POJ1159 Palindrome 最长公共子序列
- poj1159-Palindrome(最长公共子序列)
- Palindrome(补全回文串+最长公共子序列的应用)hdu1513+poj1159+动态规划
- poj1159 Palindrome 最长公共子序列 + 滚动数组
- poj1159 Palindrome(最长公共子序列, dp+滚动数组)
- 北大POJ1159 Palindrome(动态规划求最长公共子序列)
- poj1159--Palindrome(dp:最长公共子序列变形 + 滚动数组)
- Poj1159——最长公共子序列
- poj1159(dp,最长公共子序列)
- poj1159 java 最长公共子序列
- UVA 11151 Longest Palindrome(最长回文子序列 + dp + LCS)
- 回文 Palindrome 最长公共子序列 滚动数组
- POJ 1159 Palindrome(动态规划:最长回文子序列)
- 算法导论15.2 最长回文子序列 Longest palindrome subsequence
- POJ 1159 Palindrome(最长回文子序列+滚动数组)
- POJ 1159 Palindrome(回文串,最长公共子序列)
- crm常见的六大问题
- Swift项目真机调试报错dyld: Library not loaded: @rpath/libswiftCore.dylib
- iOS 火星坐标相关整理及解决方案汇总(转)
- JS生成时间戳
- Android JNI开发高级篇
- poj1159 Palindrome 【最长回文子序列】
- sql server 数据类型详解
- 查看进程pid,杀死进程
- 汤阳光OA系统笔记----如何确定实体类
- MIME TYPE描述
- 安卓对接微信支付
- 07_Flink Streaming transform
- VisualStudio.Net应用程序制作图标
- json时间设置