題意:給你乙個長度為2*n的由w和b組成字串 該字串是由2個長度為n的並且是wbwbw....形式的 求有多少種組成方案
思路:dp[i][j] 代表第乙個字串長度為i 第二個字串長度為j時的數量然後根據i和j的奇偶數遞推
i為奇數 原來的字串的第i位是w 為偶數是b
j同上i+j是到輸入的串的位置
#include #include using namespace std;
const int maxn = 2010;
const int mod = 1000000007;
char a[maxn];
int dp[maxn][maxn];
int main()
}else if(i&1)//一奇一偶 分類討論
else}}
else if(j&1)
else}}
else//都是偶數 必須都是b
if(j)}}
}
} printf("%d\n", dp[n][n]);
} return 0;
}
DP 地宮取寶(摘花生 最長上公升子串行變形)
原題鏈結 x 國王有乙個地宮寶庫,是 n m 個格仔的矩陣,每個格仔放一件寶貝,每個寶貝貼著價值標籤。地宮的入口在左上角,出口在右下角。小明被帶到地宮的入口,國王要求他只能向右或向下行走。走過某個格仔時,如果那個格仔中的寶貝價值比小明手中任意寶貝價值都大,小明就可以拿起它 當然,也可以不拿 當小明走...
求解線性dp的序列問題
lis longest increasing subsequence 最長上公升子串行 乙個數的序列bi,當b1 b2 bs的時候,我們稱這個序列是上公升的。對於給定的乙個序列 a1,a2,an 我們可以得到一些上公升的子串行 ai1,ai2,aik 這裡1 i1 i2 ik n。比如,對於序列 1...
求解線性dp的序列問題
lis longest increasing subsequence 最長上公升子串行 乙個數的序列bi,當b1 b2 bs的時候,我們稱這個序列是上公升的。對於給定的乙個序列 a1,a2,an 我們可以得到一些上公升的子串行 ai1,ai2,aik 這裡1 i1 i2 ik n。比如,對於序列 1...