牛牛數括號(dp)

2021-09-25 21:04:37 字數 1055 閱讀 5136

時間限制:c/c++ 1秒,其他語言2秒

空間限制:c/c++ 32768k,其他語言65536k

64bit io format: %lld

牛牛最近開始學括號匹配拉

給你兩個括號序列,不保證合法,求有多少種不同的方法可以將兩個括號序列合併成乙個合法的括號序列

合併的時候不能改變各自序列原先的順序

輸入兩行包含兩個字串s1,s2

1 ≤ |s1|,|s2| ≤ 2500

輸出乙個整數,魔109+7
示例1

複製

(()  

())

複製

19
示例2

複製

()()()()()()()()()()()()()()()()()()()()

()()()()()()()()()()()()()()()()()

複製

487340184
示例3

複製

(((((

)))))

複製

42
示例4

複製

(())())))

(())()

複製

0
子任務一30分:max(|s1|,|s2|)<=10

子任務二30分:max(|s1|,|s2|)<=100

子任務三40分:max(|s1|,|s2|)<=2500

#includeusing namespace std;

typedef long long ll;

const int mod=1e9+7;

char a[2505],b[2505];

int dp[2505][2505];

int fa[2505],fb[2505];

int main()

} if(fa[la]+fb[lb]==0) printf("%d\n",dp[la][lb]);

else printf("0\n");

return 0;

}

牛牛數星星

時間限制 1秒 空間限制 32768k 一閃一閃亮晶晶,滿天都是小星星,牛牛晚上閒來無聊,便躺在床上數星星。牛牛把星星圖看成乙個平面,左上角為原點 座標為 1,1 現在有n顆星星,他給每顆星星都標上座標 xi,yi 表示這顆星星在第x行,第y列。現在,牛牛想問你m個問題,給你兩個點的座標 a1,b1...

牛牛與陣列DP

思路 如果正著計算容易出現遺漏,所以我們只用找 a b a是b的倍數 的方案數,然後用總數減去這個方案數就是答案。思考用dp來解決這個問題,設dp i j 表示長度為 i 的陣列第 i 位為 j 的符合要求的陣列方案數。1 i n 1 j k 邏輯 n個數的陣列,先初始化dp 1 i 1。三重迴圈,...

牛牛與陣列(DP)

牛牛喜歡這樣的陣列 1 長度為n 2 每乙個數都在1到k之間 3 對於任意連續的兩個數a,b,a b 與 a b 0 兩個條件至少成立乙個 請問一共有多少滿足條件的陣列,對1e9 7取模 輸入兩個整數n,k 1 n 10 1 k 100000輸出乙個整數輸入 2 2輸出3輸入 9 1輸出1輸入 3 ...