P1470 最長字首 Longest Prefix

2022-03-04 02:35:02 字數 1908 閱讀 1877

在生物學中,一些生物的結構是用包含其要素的大寫字母序列來表示的。生物學家對於把長的序列分解成較短的序列(即元素)很感興趣。

如果乙個集合 p 中的元素可以通過串聯(元素可以重複使用,相當於 pascal 中的 「+」 運算子)組成乙個序列 s ,那麼我們認為序列 s 可以分解為 p 中的元素。元素不一定要全部出現(如下例中bbc就沒有出現)。舉個例子,序列 ababacabaab 可以分解為下面集合中的元素:

序列 s 的前面 k 個字元稱作 s 中長度為 k 的字首。設計乙個程式,輸入乙個元素集合以及乙個大寫字母序列 s ,設s'是序列s的最長字首,使其可以分解為給出的集合p中的元素,求s'的長度k。

輸入格式:

輸入資料的開頭包括 1..200 個元素(長度為 1..10 )組成的集合,用連續的以空格分開的字串表示。字母全部是大寫,資料可能不止一行。元素集合結束的標誌是乙個只包含乙個 「.」 的行。集合中的元素沒有重複。接著是大寫字母序列 s ,長度為 1..200,000 ,用一行或者多行的字串來表示,每行不超過 76 個字元。換行符並不是序列 s 的一部分。

輸出格式:

只有一行,輸出乙個整數,表示 s 符合條件的字首的最大長度。

輸入樣例#1: 複製

a ab ba ca bbc

.ababacabaabc

輸出樣例#1: 複製

11

#include using

namespace

std;

typedef

long

long

ll;#define inf 2147483647

const ll inf =0x3f3f3f3f3f3f3f3fll;

#define ri register inttemplate

inline t min(t a, t b, t c)

template

inline t max(t a, t b, t c)

template

inline t min(t a, t b, t c, t d)

template

inline t max(t a, t b, t c, t d)

#define pi acos(-1)

#define me(x, y) memset(x, y, sizeof(x));

#define for(i, a, b) for (int i = a; i <= b; i++)

#define ffor(i, a, b) for (int i = a; i >= b; i--)

#define mp make_pair

#define pb push_back

const

int maxn = 100005;//

name*******************************

bool f[200005

];vector

s;string

x,y;

intlens,lenx;

int ans=-1;//

function******************************

//***************************************

intmain()

x=""

;

while(cin>>y)

x=x+y;

lens=s.size();

lenx=x.size();

for(i,

0,lens-1

)

for(i,

0,lenx-1

)

}//cout}

cout

<1

;

return0;

}

P1470 最長字首 Longest Prefix

p1470 最長字首 longest prefix在生物學中,一些生物的結構是用包含其要素的大寫字母序列來表示的。生物學家對於把長的序列分解成較短的序列 即元素 很感興趣。如果乙個集合 p 中的元素可以通過串聯 元素可以重複使用,相當於 pascal 中的 運算子 組成乙個序列 s 那麼我們認為序列...

最長公共字首

描述 給k個字串,求出他們的最長公共字首 lcp 樣例 在 abcd abef 和 acef 中,lcp 為 a 在 abcdefg abcefg abcefa 中,lcp 為 abc 新知識點 vectorstrs既可以是一維的,也可以是多維的。在這裡講解三維的初始化。vector str str...

最長公共字首

編寫乙個函式來查詢字串陣列中的最長公共字首。如果不存在公共字首,返回空字串 示例 1 輸入 flower flow flight 輸出 fl 示例 2 輸入 dog racecar car 輸出 解釋 輸入不存在公共字首。說明 所有輸入只包含小寫字母a z。class solution object...