进一步分析 从左到右一定不会出现4个插头a, b, c, d,a, c匹配,b, d匹配. d c a b 插头不会交叉 插头不会交叉 插头两两匹配 括号序列!!! ( ) ( ( ) ) 括号表示法 ( ( ) ) ) ( 0:无插头状态,用 # 表示 1:左括号插头,用 ( 表示 2:右括号插头,用 ) 表示 3进制 # (1 1 2 0 2 1 2)3 有人会去用三进制么? 用两位字节保存一个位置的状态 10 --- ( 01 --- ) 00 --- # 接下来考虑转移: Case 1 产生新的联通分量 原来没有插头 现在有下插头和右插头 ) 插头 ( 插头 ( # # # ) ( ( ) # ) Case 1 对应一种情况: Case 2 ( 插头 (插头 # ( ( ) ) # # # ( ) ( 插头 合并两个联通分量 Case 2 另两种情况 与例子类似, 合并两个不同的联通分量 合并一个联通分量, 只能出现在最后一格 Case 2 j i 删除i,j在当前格子中的部分 将i的另一半和j的另一半合并即可 Case 2 由括号匹配的性质,可以用栈找到某个括号的另一边 Case 2 由括号匹配的性质,可以用栈找到某个括号的另一边 对应一种情况: Case 3 维持联通分量 ) 插头 )插头 无插头 ( ( ) # ) ( (
原创力文档

文档评论(0)