SCOI 2003 字串摺疊(區間 dp)

2021-10-02 15:56:52 字數 829 閱讀 8886

求乙個字串的最短可巢狀壓縮長度。如aaaaaaaaaabababccd最短為9(a)3(ab)ccd

1 ≤∣

s∣

≤100

1 \leq |s| \leq 100

1≤∣s∣≤

100對於乙個字串,令 fi,

jf_

fi,j

​ 為 [i,

j]

[i,j]

[i,j

] 的最短壓縮長度,有三個壓縮。

原串形式,將 fi,

jf_

fi,j

​ 賦初值為 j−i

+1

j-i+1

j−i+1。

拼接形式,列舉拼接點 k

kk,fi,

j=

min⁡

f_ = \min \, f_ + f_ \}

fi,j​=

min。

巢狀形式,列舉巢狀的週期長度,若能巢狀,則轉移,與重複次數的位數 +

2+ 2

+2即兩個括號 +

++ 週期長度取 min。

#include

using

namespace std;

int n; string s;

int f[

501]

[501];

intmain()

}printf

("%d\n"

, f[0]

[n -1]

);return0;

}

SCOI2003 字串摺疊(區間dp)

摺疊的定義如下 乙個字串可以看成它自身的摺疊。記作s s x s 是x x 1 個s連線在一起的串的摺疊。記作x s ssss s x個s 如果a a b b 則ab a b 例如,因為3 a aaa,2 b bb,所以3 a c2 b aaacbb,而2 3 a c 2 b aaacaaacbb ...

SCOI2003 字串摺疊 區間DP

摺疊的定義如下 乙個字串可以看成它自身的摺疊。記作s s x s 是x x 1 個s連線在一起的串的摺疊。記作x s ssss s x個s 如果a a b b 則ab a b 例如,因為3 a aaa,2 b bb,所以3 a c2 b aaacbb,而2 3 a c 2 b aaacaaacbb ...

SCOI2003 字串摺疊

scoi2003 字串摺疊 時間限制 c c 1秒,其他語言2秒 空間限制 c c 262144k,其他語言524288k 64bit io format lld摺疊的定義如下 乙個字串可以看成它自身的摺疊。記作s s x s 是x x 1 個s連線在一起的串的摺疊。記作x s ssss s x個s...