1087 回文串詢問 經典dp

2021-10-03 06:54:08 字數 631 閱讀 9566

pipi要考考你對回文串的掌握了~

現在有乙個長度為n的字串s,pipi對此有q個詢問,每次詢問s中某個連續區間(從1開始)是否構成回文串,若是輸出"yes",否則輸出」no"。

多組資料。

第一行為兩個個整數n,q(1<=n<=1000,1<=q<=100000)

第二行為乙個長為n的字串s。

接下來q行,每行兩個整數l,r,表示詢問s中區間[l,r]是否構成回文串。保證l<=r且合法。

對於每個詢問輸出佔一行,輸出「yes"或者」no"。

5 3abcba

1 52 4

3 4yes

yesno

#include

using

namespace std;

int n,q;

char s1[

1005];

int dp[

1005][

1005];

intmain()

}for

(int i=

3; i<=len; i++)}

int l,r;

while

(q--)}

return0;

}

1154 回文串劃分(dp)

1154 回文串劃分 基準時間限制 1 秒 空間限制 131072 kb 分值 40 難度 4級演算法題 有乙個字串s,求s最少可以被劃分為多少個回文串。例如 abbaabaa,有多種劃分方式。a bb aabaa 3 個回文串 a bb a aba a 5 個回文串 a b b a a b a a...

演算法競賽入門經典 例題 3 4 回文串

輸入乙個字串。求出當中最長的回文子串。子串的含義是 在原串中連續出現的字串片段。回文的含義是 正著看和倒著看同樣。如abba和yyxyy。在推斷時,應該忽略全部標點符號和空格。且忽略大寫和小寫。但輸出應保持原樣 在回文串的首部和尾部不要輸出多餘字元 輸入字串長度不超過5000,且占領單獨的一行。應該...

dp 51nod 1154 回文串劃分

link include using namespace std 題意 有乙個字串s,求s最少可以被劃分為多少個回文串。題解 暴力預處理出每位能到達範圍,dp可以由當前處理位置選擇多長回文串轉移。const int n 5005 const int inf 0x3f3f3f3f int ma n m...