求乙個字串的最短可巢狀壓縮長度。如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...