x星球的考古學家發現了一批古代留下來的密碼。這些密碼是由a、b、c、d 四種植物的種子串成的序列。
仔細分析發現,這些密碼串當初應該是前後對稱的(也就是我們說的映象串)。
由於年代久遠,其中許多種子脫落了,因而可能會失去映象的特徵。
你的任務是:給定乙個現在看到的密碼串,計算一下從當初的狀態,它要至少脫落多少個種子,才可能會變成現在的樣子。
輸入
輸入存在多組測試資料,對於每組測試資料輸入一行,表示現在看到的密碼串(長度不大於1000)。
輸出
對於每組測試資料要求輸出乙個正整數,表示至少脫落了多少個種子。
我們來考慮上面的乙個映象串,其中標紅的地方為要刪除的字元。
將第乙個映象穿刪除紅色的部分之後,就得到了第二個映象串。我們可以發現:不考慮原來被刪去的字元的對稱部分(標紅的字元),第二個映象串黑色部分依然是乙個映象串。
因此原來的問題求最少的操作次數可以轉變為,第二個映象串的長度 減去 第二個映象串 串中最長的映象子串的長度。
而第二個映象串 串中最長的映象子串 就是lcs(第二個映象串, 反轉後的第二個映象串)。
將乙個串反轉後再去求這兩個串的最長公共子串,顯然求得的最長公共子串一定是個映象串。
#include #include #include #include #include #include #define maxn 1005
using namespace std;
int dp[maxn][maxn];
int find_lcs(string a, string b)
return dp[lena][lenb];
}int main()
return 0;
}
密碼脫落,藍橋杯,2016初賽
題目描述 x星球的考古學家發現了一批古代留下來的密碼。這些密碼是由a b c d 四種植物的種子串成的序列。仔細分析發現,這些密碼串當初應該是前後對稱的 也就是我們說的映象串 由於年代久遠,其中許多種子脫落了,因而可能會失去映象的特徵。你的任務是 給定乙個現在看到的密碼串,計算一下從當初的狀態,它要...
藍橋杯2016初賽 密碼脫落
題目描述 x星球的考古學家發現了一批古代留下來的密碼。這些密碼是由a b c d 四種植物的種子串成的序列。仔細分析發現,這些密碼串當初應該是前後對稱的 也就是我們說的映象串 由於年代久遠,其中許多種子脫落了,因而可能會失去映象的特徵。你的任務是 給定乙個現在看到的密碼串,計算一下從當初的狀態,它要...
密碼脫落 藍橋杯
密碼脫落 x星球的考古學家發現了一批古代留下來的密碼。這些密碼是由a b c d 四種植物的種子串成的序列。仔細分析發現,這些密碼串當初應該是前後對稱的 也就是我們說的映象串 由於年代久遠,其中許多種子脫落了,因而可能會失去映象的特徵。你的任務是 給定乙個現在看到的密碼串,計算一下從當初的狀態,它要...