題意:求最長的回文串。 思路:同樣是用Mancher算法在O(n)的時間內解決(我其實是來練練板子的
#include #include #include #include #include #include #include #include #include #include #include #pragma comment(linker, /STACK:102400000,102400000) using namespace std; typedef long long LL; const int inf=0x3f3f3f3f; const double pi= acos(-1.0); const double esp=1e-6; const int maxn=1000010; char str[maxn]; char s[maxn*2]; int p[maxn*2]; int len; void Manacher() { int i; s[0]='$'; s[1]='#'; for(i=0;ii) p[i]=min(p[2*id-i],p[id]+id-i); else p[i]=1; while(s[i+p[i]]==s[i-p[i]]) p[i]++; if(p[i]+i>p[id]+id) { id=i; } if(p[i]>MaxL) MaxL=p[i]; } printf(%d ,MaxL-1); } int main() { int icase=1; while(~scanf(%s,&str)) { if(strcmp(str,END)==0) break; len=strlen(str); printf(Case %d: ,icase++); Manacher(); } return 0; }
基於OpenCV的視頻轉為圖像序列方法:基於C++版本#in
一、迭代器1、迭代器是泛型指針通過重載*,->,++,
1.恢復了早期版本中有的背景編譯2.在當前文件
一.題目描述Write a program to solve
1. 一維數組對於簡單的一維數組動態內存分配和釋放,如下:i
一.題目描述Determine if a Sudoku is