題意:紫書
基本思路:dp[i]=dp[j]+1(if s[j+1 to i]為回文串),當然前提時s[0 to i]不為回文串(dp[i]表示0到i的最少回文串分割數),然後就是最長回文子串的判斷。這裡我用動態規劃的思路:if((s[i]==s[j]) p[i][j]=p[i+1][j-1];詳情參考:
#include#include#include#include#include#include#define debug cout<<"debug"<>s;
init();
memset(dp,inf,sizeof(dp));
dp[0]=1;
for(int i=0;i
環狀序列(UVa1584)
題目具體描述見 c 11 如下 1 include2 include 3 define maxn 103 4using namespace std 5char s maxn 6 c 中注意避免使用less作為自定義函式,因為會和標準庫中的less函式重名,或者使用不同的空間域來界定 7bool le...
UVa1584 最小迴圈序列
題目大意 乙個迴圈串,輸出字典序最小的串!這道題是看紫書上的題目,紫書上的 為 include include char s 105 int less int p,int q 得到了最小串的起始下標 strncpy s2,s1 ans,n s2 n 0 printf s n s2 或者這樣寫 for...
3 6 環狀序列(UVa1584)
長度為n的環狀串有n種表示法,分別為某個位置開始順時針得到。例如,圖中的環狀串有10種表示 cgagtcagct,gagtcagctc,agtcagctcg等。在這些表示法中,字典序最小的稱為 最小表示 輸入乙個長度為n n 100 的環狀dna串 只包含a c g t這4種字元 的一種表示法,你的...