L2-008. 最長對稱子串
#include <iostream> #include <cstdio> #include <string.h> #include <algorithm> using namespace std; int main(void){ char str[1005]; gets(str); int len = strlen(str); int ans = 1; for(int i = 0; i < len; i++){ int L = i - 1,R = i + 1; int h = 1; while(L >= 0 && R <= len - 1){ if(str[L] == str[R]){ L--; R++; h += 2; } else{ break; } ans = max(ans,h); } } int h; for(int i = 1; i < len; i++){ if(str[i] == str[i - 1]){ int h = 2; int L = i - 2,R = i + 1; while(L >= 0 && R <= len - 1){ if(str[L] == str[R]){ L--; R++; h += 2; } else{ break; } ans = max(ans,h); } } } cout<<ans<<endl; return 0; }
相關推薦
L2-008. 最長對稱子串
#include <iostream> #include <cstdio> #include <string.h> #include <algorithm>
L2-008. 最長對稱子串(最長迴文串)
題目意思 求最長迴文串。 解題思路 直接用Manacher演算法,秒過,下面就一標準模板 程式碼部分 #include<iostream> #include<st
天梯賽習題 L2-008. 最長對稱子串
對給定的字串,本題要求你輸出最長對稱子串的長度。例如,給定"Is PAT&TAP symmetric?",最長對稱子串為"s PAT&TAP s",於是你應該輸出11。 輸入格式: 輸入在一行中給出長度不超過1000的非空字串。 輸出格式: 在一行中輸出最長對稱子串的長度。 輸入樣
PAT ~ L2-008. 最長對稱子串 (Manacher)
思路:裸的馬拉車演算法,,,字尾陣列應該也可以做Manacher:#include<bits/stdc++.h> using namespace std; const int MAXN =
PAT L2-008. 最長對稱子串(25) (暴力,Manacher演算法和DP解決)
L2-008. 最長對稱子串 時間限制 100 ms 記憶體限制 65536 kB 程式碼長度限制 8000 B 判題程式 Standard 作者 陳越
L2-008. 最長對稱子串(馬拉車演算法)
對給定的字串,本題要求你輸出最長對稱子串的長度。例如,給定”Is PAT&TAP symmetric?”,最長對稱子串為”s PAT&TAP s”,於是你應該輸出11。 輸入格式: 輸入在一行中給出長度不超過1000的非空字串。 輸出格式:
L2-008. 最長對稱子串(manacher演算法)
今天學習了一下manacher演算法,比較難理解的是這一步,mx表示的是當前的對稱子串的最右端, id表示的這個子串的中間這個點。2*id-i 表示 i 關於 id 的對稱點 j p[i]=mx>
最長對稱子串
stdio.h eve while 子字符串 -- sin ret longest last //求一個字符串中最長對稱字串,好像有點如google,那麽輸出goog /* O(n2)的算法 如果我們換一種思路,我們從裏向外來判斷。也就是我們先判斷子字符串A是不是對稱的
資料結構——最長對稱子串
題目大意:就是讓你找這個字串裡最長的對稱序列。 題目連結:https://pintia.cn/problem-sets/1052335451183816704/problems/1052335487275802632#p-1 思路:列舉每一個對稱中心,判斷時候對稱,由於
7-7 最長對稱子串 (25 分)
對給定的字串,本題要求你輸出最長對稱子串的長度。例如,給定Is PAT&TAP symmetric?,最長對稱子串為s PAT&TAP s,於是你應該輸出11。 輸入格式: 輸入在一行中給出長度不超過1000的非空字串。 輸出格式: 在一行中輸出最長對稱子串的長度
7-64 最長對稱子串 (25 分)
7-64 最長對稱子串 (25 分) 對給定的字串,本題要求你輸出最長對稱子串的長度。例如,給定Is PAT&TAP symmetric?,最長對稱子串為s PAT&TAP s,於是你
7-8 最長對稱子串 (25 分)
7-8 最長對稱子串 (25 分) 對給定的字串,本題要求你輸出最長對稱子串的長度。例如,給定Is PAT&TAP symmetric?,最長對稱子串為s PAT&TAP s,於是你應該輸出11。 輸入格式: 輸入在一行中給出長度不超過1000的非空字串。 輸出格式:
第四章作業-串-計算機17級 7-1 最長對稱子串 (25 分)四種方法求解(暴力列舉+動態規劃+中心擴充套件+manacher演算法(馬拉車))
7-1 最長對稱子串 (25 分) 對給定的字串,本題要求你輸出最長對稱子串的長度。例如,給定Is PAT&TAP symmetric?,最長對稱子串為s PAT&TAP s,於是你應該輸出11。 輸入格式: 輸入在一行中給出長度不超過1000的非空字串
7-9 最長對稱子串(25 分)
對給定的字串,本題要求你輸出最長對稱子串的長度。例如,給定Is PAT&TAP symmetric?,最長對稱子串為s PAT&TAP s,於是你應該輸出11。 輸入格式: 輸入在一行中給出長度不超過1000的非空字串。 輸出格式: 在一行中輸出最長對稱子
演算法題(二):找出最長對稱子串
做法與找出兩個字串的最長公共子串相似。先得到字串的反轉,再利用求最長公共子串的方法來求最長對稱子串。 public static void fun1(String str1) { if(str1==null ||str1.length()==0) { retur
5-7 最長對稱子串 (25分) 對給定的字串,本題要求你輸出最長對稱子串的長度。例如,給定Is PAT&TAP symmetric?,最長對稱子串為s PAT&TAP s,於是你應該輸出11。
//for迴圈 #include<stdio.h> #include<math.h> #include<string.h> #include<stdlib.h> void zhongjian(int t); void bian
最長對稱子串(動態規劃解法)
5-12 最長對稱子串 (25分) 對給定的字串,本題要求你輸出最長對稱子串的長度。例如,給定Is PAT&TAP symmetric?,最長對稱子串為s PAT&TAP s,於是你應該輸出11。 輸入格式: 輸入在一行中給出長度不超過1000
最長對稱子串(KMP)
對給定的字串,本題要求你輸出最長對稱子串的長度。例如,給定"Is PAT&TAP symmetric?",最長對稱子串為"s PAT&TAP s",於是你應該輸出11。 輸入格式: 輸
最長對稱子串 -- 天梯模擬
Think: 判斷字串中最大的迴文串長度,長度較小,直接暴力就可以過。。。 是PTA的模擬題。。。 題目 對給定的字串,本題要求你輸出最長對稱子串的長度。例如,給定Is PAT&TAP
2016年天梯賽模擬題集重現 最長對稱子串
2016年天梯賽模擬題集重現 程式設計題15小題,共計290分 290分 程式設計題 5-12 最長對稱子串 (25分) 對給定的字串,本題要求你輸出最長對稱