其实一眼看到就能想到区间$dp$吧
设$dp(i,j)$表示从$i$到$j$的折叠次数最小,我们每次确定一个数$k$,若$i$~$k$能匹配$k+1$~$j$那么$dp(i,j)=dp(i,k)+2+s$,$s$为括号左面的数字的位数,$+2$是因为要算上括号,若不能则$dp(i,j)=dp(i,k)+dp(k+1,j)$
代码NOIP考完在发吧
原文地址:https://www.cnblogs.com/si-rui-yang/p/9876400.html
时间: 2024-11-09 09:23:45