牛客小白月賽3 B 躲藏

2021-08-19 23:51:21 字數 840 閱讀 2076

傳送門:

題目描述:

xhrlyb和她的小夥伴cwbc在玩捉迷藏遊戲。 cwbc藏在多個不區分大小寫的字串中。 好奇的xhrlyb想知道,在每個字串中cwbc作為子串行分別出現了多少次。 由於cwbc可能出現的次數過多,你只需要輸出每個答案對2000120420010122取模後的結果。 聰明的你在仔細閱讀題目後,一定可以順利的解決這個問題!

輸入有多行,每行乙個字串。輸出資料應有多行,每行表示答案取模後的結果。

每行字串長度不超過2×10

5,字串總長度不超過106。

示例1輸入

cwbc輸出1

示例2輸入

acdcecfwgwhwibjbkblcmcnco

輸出81

解題思路:先去除多餘字元,轉換成小寫

c->cw>cwb>cwbc;

cw序列的數量:向後遍歷,每當遇見w字元,cw序列數=原cw序列數+c字元數;

cwb序列的數量:向後遍歷,每當遇見b字元,cwb序列數=原cwb序列數+cw序列數;

cwbc序列的數量:向後遍歷,每當遇見c字元,cwbc序列數=原cwbc序列數+cwb序列數。

#include#define mod 2000120420010122

using namespace std;

char str1[200005],str2[200005];

int main()

}int m=j;

for(i=0;iif(str2[i]=='w')

if(str2[i]=='b')

}printf("%lld\n",b[3]);

}}

牛客小白月賽3 B 躲藏

題目鏈結 xhrlyb和她的小夥伴cwbc在玩捉迷藏遊戲。cwbc藏在多個不區分大小寫的字串中。好奇的xhrlyb想知道,在每個字串中cwbc作為子串行分別出現了多少次。由於cwbc可能出現的次數過多,你只需要輸出每個答案對 2000120420010122 2000120420010122 200...

牛客小白月賽3 B 躲藏 動態規劃

第一眼看以為是kmp,然後仔細一看是子串行,再看資料範圍,暴力的話肯定會超時,所以這道題需要用動態規劃來寫,令 f i j j 1,2,3,4 表示前 i 個字元中,匹配了字串 cwbc 的前多少位,那麼有轉移方程 f i 1 f i 1 1 s i c mod f i 2 f i 1 2 s i ...

牛客網小白月賽3 B 躲藏 簡單DP

b 躲藏 xhrlyb和她的小夥伴cwbc在玩捉迷藏遊戲。cwbc藏在多個不區分大小寫的字串中。好奇的xhrlyb想知道,在每個字串中cwbc作為子串行分別出現了多少次。由於cwbc可能出現的次數過多,你只需要輸出每個答案對2000120420010122取模後的結果。聰明的你在仔細閱讀題目後,一定...