牛客網 ABBA 線性DP

2021-09-25 17:07:30 字數 703 閱讀 1666

bobo有乙個長度為2(n + m)的字串,由字元「a」和「b」組成。 該字串還具有迷人的特性:它可以被分解為長度為2的(n + m)子串行,並且在(n + m)個子序列中,它們中的n為「ab」,而其他m為「ba」。 給定n和m,找出模數可能的字串數。

思路:dpi][j]表示用了i個ab,j個ba的方案數,我們考慮當前狀態對最終方案的貢獻,如果當前狀態是合法的,我們就認為它是有貢獻的,能夠達到最終合法的狀態,所以我們只用考慮合法狀態下從上個狀態轉移過來即可,要不就是多了乙個ab,要不就是多了乙個ba,兩種狀態都可以轉移過來,所以我們加起來就行了。

#include#include#include#include#include#include#include#includeusing namespace std;

typedef long long ll;

const int maxn = 2e3 + 10;

const int mod = 1e9 + 7;

const int inf = 0x3f3f3f3f;

#define niubi return 0

int dp[maxn][maxn]; //表示用了i個ab,j個ba的方案數

int main()

}printf("%d\n", dp[n + m][n + m]);

}niubi;

}

牛客網dp專題 數字dp

題目 輸入a和b,求a到b的所有數之中有多少0出現 題解 先算個位,個位是0的情況有x種 再算十位,十位是0的情況有y種 一共是x y 用數字dp做 dp i 中存的是從0 99 9 共i個9 中0的個數 不含前導0 dp0 i 中存放的是00 0 99 9 共i個0,i個9 中0的個數 含前導0 ...

牛客 火 皇家烈焰 線性dp

題目大意 給出乙個字串表示掃雷遊戲,其中 0 這個格仔沒有烈焰,且其左右兩個格仔均沒有烈焰 1 這個格仔沒有烈焰,且其左右兩個格仔中只有乙個烈焰 2 這個格仔沒有烈焰,且其左右兩個格仔中均有烈焰 這個格仔有烈焰 未告訴你本格情況 要求計算一共有多少種方案可以滿足給出的情況 題目分析 因為看到結果要對...

牛客網 流星雨(dp)

英仙座流星雨 學名perseids 是以英仙座 星附近為輻射點出現的流星雨,也稱英仙座 流星雨。每年在7月20日至8月20日前後出現,於8月13日達到高潮。與象限儀座流星雨 雙子座流星雨並稱為北半球三大流星雨。暑假到了,又是乙個去看流星雨的好季節。看流星雨最重要的是什麼?當然是許願。當一顆流星出現時...