POJ 1159.Palindrome
来源:互联网 发布:什么是主域名与子域名 编辑:程序博客网 时间:2024/06/06 00:54
题目:http://poj.org/problem?id=1159
AC代码(C++):
#include <iostream>#include <algorithm>#include <stdio.h>#include <vector>#include <queue>#include <math.h>#include <string>#include <string.h>#include <bitset>#define INF 0xfffffff#define MAXN 100105using namespace std;int n;char str1[5005];char str2[5005];short int dp[5005][5005];void strcpyrev(char* d, char* s){int len = strlen(s);for(int i = 0; i < len; i++){d[i] = s[len-i-1];}d[len] = '\0';}int main(){cin>>n>>str1;strcpyrev(str2,str1);memset(dp,0,sizeof(dp));for(int i = 1; i <= n; i++){for(int j = 1; j <= n; j++){if(str1[i-1] == str2[j-1]){ dp[i][j] = dp[i-1][j-1] + 1; } else if(dp[i-1][j] >= dp[i][j-1]){ dp[i][j] = dp[i-1][j]; } else{ dp[i][j] = dp[i][j-1]; }}}cout<<n-dp[n][n];}总结: 最长公共子序列. 答案=输入字符串长度-输入字符串与其逆字符串的最长公共子序列长度. 我也是由poj1080题启发才想到这样做的, 但还是交了3次才AC. 第一次是因为strrev不在oj库内编译错误, 第二次是5000*5000的dp数组太大超内存, 改成short int就好了.
阅读全文
0 0
- POJ 1159.Palindrome
- poj 1159 Palindrome LCS
- poj 1159 Palindrome LCS
- poj 1159 Palindrome
- poj 2402 Palindrome Numbers
- poj 1159 Palindrome
- dp poj 1159 Palindrome
- poj 1159 Palindrome
- poj 1159 Palindrome
- POJ 1159 Palindrome DP
- Palindrome poj 1159
- Poj 1159 Palindrome
- Poj 3280 Cheapest Palindrome
- poj 1159 Palindrome
- poj 1159 Palindrome 【DP】
- poj 1159Palindrome
- poj 3974 Palindrome
- poj 1159 Palindrome
- 9个最重要的生活态度
- Java的原子类
- springBoot(一)
- 解决@ResponseBody注解返回中文乱码
- 3D扫描仪到底是怎么工作的?
- POJ 1159.Palindrome
- 前端页面Double转换Integer,input前段页面的类型转换
- Python全局变量和局部变量
- Spring boot Hibernate SSerializationException: could not deserialize invalid stream header
- 用select实现TCP回射程序(服务器及客户端)
- SQL Server2008 学习之(十二) :XML存储与查询技术
- 搜索提示框实现
- 机器学习第5章第1节(下) : 针对两类函数训练神经网络
- 1004. 成绩排名 (20)