這道題n-m很小,可以從此入手 記f[i][j]為i個字符括號綜合為j的合法方案數 則第i個括號可以枚舉為(和),所以f[i][j]=f[i-1][j-1]+f[i-1][j+1],小心越界 再記a為序列總和,b為序列中前綴和最小值 則我們可以枚舉i,j統計答案,設前面括號的長度和權值為i,j 那麼中間的長度和權值為m,a,所以後面為n-m-i,-j-a 但是這樣子做會越界,我們可以考慮將所有後面的方案翻轉(左括變右,右括變左),方案合法,權值變負 這樣子,後面方案為n-m-i,j+a,所以不會…