•定义如下规则序列(字符串):
–空序列是规则序列;
–如果
S
是规则序列,那么(
S
)和
[
S
]
也是规则序列;
–如果
A
和
B
都是规则序列,那么
AB
也是规则序列。
•例如,下面的字符串都是规则序列:
–()
,
[]
,
(())
,
([])
,
()[]
,
()[()]
•这几个则不是规则序列:
–(
,
[
,
]
,
)(
,
([()
•现在,给出一些由‘
(’
,‘
)’
,‘
[’
,‘
]’
构成的序列,请添加尽量少的括号,得到一个规则序列。
•d[
i,j
]:
子串
i
…j
最少需要添加的括号数
•状态转移
–S
形如
(S’)
或者
[S’]:
d[i+1,j-1]
–S
形如
(S’
或者
[S’:
d[i+1,j]+1
–S
形如
S’)
或者
S’]:
d[i,j-1]+1
–长度大于
1: d[
i,k
]+d[k+1,j]
(
i
<=k<=j-1)