POJ 1159 Palindrome
#include<iostream> #include<cstdio> #include<cstring> #include<string> #include<algorithm> using namespace std; const int N = 5005; short dp[N][N]; string s1, s2; int n; int main(){ while(cin >> n >> s1){ s2 = s1; reverse(s1.begin(), s1.end()); for(int i = 0; i < n; ++i) for(int j = 0; j < n; ++j) if(s1[i] == s2[j]) dp[i + 1][j + 1] = dp[i][j] + 1; else dp[i + 1][j + 1] = max(dp[i][j + 1], dp[i + 1][j]); cout << n - dp[n][n] << endl; } return 0; }
相關推薦
POJ-1159 Palindrome---變成回文串的最小代價
%s targe OS AS 回文字符串 最長公共子序列 span color problem 題目鏈接: https://cn.vjudge.net/problem/POJ-1159 題目大意: 題意很明確,給你一個字符串,可在任意位置添加字符,最少再添加幾個字符,可以使
POJ 1159 Palindrome
#include<iostream> #include<cstdio> #include<cstring> #include<string> #include<algorithm> using namespace std; const
poj 1159 Palindrome NYOJ 37 迴文字串(DP)
#include<iostream>#include<string>#include<cstring>#include<cstdio>using namespace std;const int MAXM=1001;short int f[MAXM][MAXM]
poj 1159 Palindrome(最長公共子序列 + 滾動陣列)
http://poj.org/problem?id=1159 題意:給定一個字串,問最少插入多少個字元,使得該字串變成迴文字串。 思路:原字串序列是X,逆序列是Y,則最少需要補充的字母數=X的長度-X
POJ 1159 Palindrome【LCS+滾動陣列】【水題】
Palindrome Time Limit: 3000MS Memory Limit: 65536K Total Submissions: 63833 Accepted: 22254 Description A palindrome is a symmetr
POJ 1159 Palindrome 最大公共子序列+滾動陣列
題目描述: A palindrome is a symmetrical string, that is, a string read identically from left to right as well as from right to left. You ar
poj 1159 Palindrome(最長公共子序列+滾動陣列)
A palindrome is a symmetrical string, that is, a string read identically from left to right as well as from right to left. You are to writ
POJ 1159 Palindrome 動態規劃+滾動陣列
Palindrome Time Limit: 3000MS Memory Limit: 65536K Total Submissions: 50689 Accepted: 17461 Description A palindrome is a symmetric
【poj 1159】 Palindrome DP(類最長公共子序列)+滾動陣列
Palindrome Time Limit: 3000MS Memory Limit: 65536K Total Submissions: 58492 Accepted: 20318 Description A palindrom
【poj 1159】Palindrome 題意&題解&程式碼(C++)
題目連結: http://poj.org/problem?id=1159 題意: 給出一個長為n的字串,求最少新增幾個字元可以將這個字串變為迴文字串。 題解: 要把這個串變為迴文串,很容易想到
1159--Palindrome(dp:回文串變形2)
orm accept iss sin des -- post memset example Palindrome Time Limit: 3000MS Memory Limit: 65536K Total Submissions: 53431 Acc
POJ - 3974 Palindrome
HA AS cal bstr then rop char const ctime Andy the smart computer science student was attending an algorithms class when the professor ask
搜尋專題 POJ 1159:Maze
程式碼越寫越長,樣例過了,提交卻WA,找不出原因,先貼在這裡吧 #include <stdio.h> #include <stdlib.h> #include <algorithm> #include <iostream> #include
POJ--3974 Palindrome(迴文串,hash)
連結:點選這裡 #include<iostream> #include<algorithm> #include<stdio.h> #include<cstring> using namespace std; #d
POJ--3974 Palindrome(回文串,hash)
unsigned out include stdio.h mes style ans target for 鏈接:點擊這裏 #include<iostream> #include<algorithm> #include<s
poj——1159(dp之最長公共子序列)
注:C++執行時Runtime Error,G++過了。(這編譯器,真無語了)。 #include <iostream> #include <cmath> #include
POJ 1159 DP+滾動陣列
Palindrome Time Limit: 3000MS Memory Limit: 65536K Total Submissions: 57568 Accepted: 19962 Description A palindrom
POJ 1159 最長公共子序列的應用
DP已經弱到不能再弱的程度了。。。。那就從最基本的做起吧!! 看隊友部落格裡面有這題,做了,讀完題,沒思路,才知道,一個叫最長公共子序列的東西不知道(注意與最長公共子串分開) 最長公共子序列作法: dp[i][j] 表示s1串中前i個字元,s2串中前j個字元所組成的兩個串的
POJ 1159(dp+備忘錄)
不用short會引起記憶體超限, 不用備忘錄方法會引起TLE 但基本思路還是如下: 遞迴求解。 也可以用動態規劃演算法,但我看了半天還是不好理解,都說的不是特別好,要是有哪位大牛有好的思路希望在評論區給予我幫助,感激不盡。 #include<io
1159 Palindrome(迴文串&LCS最長公共子序列&滾動陣列)
A palindrome is a symmetrical string, that is, a string read identically from left to right as well as from right to left. You are