NOIP模擬題 子串行

2022-08-17 10:27:23 字數 1084 閱讀 6349

描述

給定3個字串,求它們的最長公共子串行。

輸入

第一行乙個整數n,表示三個字串的長度

接下來三行,每行是乙個長度為n只包含小寫字母的字串。

輸出

輸出最長公共子串行的長度。

輸入樣例

4abac

abbc

cbca

輸出樣例

2提示

30% n<=10

100% n<=120

三維dp,道理和兩個字串的lcs差不多。

狀態轉移方程:

f[ i ][ j ][ k ]=max(f[ i ][ j ][ k - 1 ],max(f[ i - 1 ][ j ][ k ],f[ i ][ j - 1 ][ k ]));

if(a[ i ]==b[ j ]&&a[ i ]==c[ k ])

f[ i ][ j ][ k ]=max(f[ i ][ j ][ k ],f[ i - 1 ][ j - 1 ][ k - 1 ]+1);

1 #include2 #include3 #include4

const

int maxn=155;5

char

a[maxn],b[maxn],c[maxn];

6int

f[maxn][maxn][maxn];

7int

lena,lenb,lenc;

8 inline void

read()

916 inline int max(int x,int

y)17

21 inline void

solve1()

2235 inline void

solve2()

3645 printf("%d"

,f[lena][lenb][lenc]);

46return;47

}48intmain()

49

NOIP模擬題 括號序列

題目描述 課堂上,felix 剛剛學習了關於括號序列的知識。括號序列是乙個只由左括號 和右括號 構成的序列 進一步的,乙個合法的括號序列是指左括號和右括號能 夠 一一匹配的序列。如果用規範的語言說明,乙個合法的括號序列可以有以下三種形式 1 s 空串 s 是乙個合法的括號序列 2 s xy,其中 x...

NOIP模擬 序列

問題描述 乙個序列被稱為有趣的序列是它的所有的子串擁有乙個唯一的整數 這個整數在整個序 列中只出現過一次 給你乙個序列的整數,問你它是否是有趣的。輸入格式 第一行 t,表示資料組數。接下來每組資料第一行乙個 n。接下來是 n 個整數,均小於 10 9。輸出格式 輸出 boring 或者 non bo...

NOIP模擬 序列操作

2017.11.06t2 好氣,我這道題寫的權值線段樹,結果維護的時候搞忘清零了,只有 20 分,加上清零就 a了,當然我是指的評測機上ac,在 oj 上要 t 一些點,有點小氣。我用權值線段樹,在修改的時候加了乙個 lo g2h 但我的詢問是 lo g2h 的,比較已經過了的 修改是 o h 詢問...