至多刪三個字元

2022-08-22 01:45:09 字數 793 閱讀 1468

l3-020 至多刪三個字元 (30 分)

給定乙個全部由小寫英文本母組成的字串,允許你至多刪掉其中 3 個字元,結果可能有多少種不同的字串?

輸入在一行中給出全部由小寫英文本母組成的、長度在區間 [4, 10​6​​] 內的字串。

在一行中輸出至多刪掉其中 3 個字元後不同字串的個數。

ababcc
25
刪掉 0 個字元得到 "ababcc"。

刪掉 1 個字元得到 "babcc", "aabcc", "abbcc", "abacc" 和 "ababc"。

刪掉 2 個字元得到 "abcc", "bbcc", "bacc", "babc", "aacc", "aabc", "abbc", "abac" 和 "abab"。

刪掉 3 個字元得到 "abc", "bcc", "acc", "bbc", "bac", "bab", "aac", "aab", "abb" 和 "aba"。

solution:注意去重是到最近的。

#include using

namespace

std;

const

int maxn=1e6+10

;char

str[maxn];

long

long dp[maxn][6

];int

main()}}

}cout

<0]+dp[n][1]+dp[n][2]+dp[n][3]

}

pat 至多刪三個字元(簡單DP)

題目鏈結 題意 給定乙個全部由小寫英文本母組成的字串,允許你至多刪掉其中 3 個字元,結果可能有多少種不同的字串?思路 dp問題 找是否有重疊問題,明確遞推關係,怎麼推的 順序千萬不要搞錯 找到狀態方程,迴圈時注意邊界條件和方程式是否嚴格成立。重疊問題 刪除至多 3 個字元 遞推關係 dp i j ...

L3 2 至多刪三個字元

主要思路 dp i j 表示在前i個字元中刪除j個字元是字串種類數,則dp i j 分為兩種情況刪除第i個字元,不刪除第i個字元 dp i 1 j 刪除第i個字元 dp i 1 j 1 所以dp i j dp i 1 j dp i 1 j 1 然後再考慮重複情況,以樣例舉例ababcc刪除第1,2個...

2018CCCC L3 2 至多刪三個字元(DP)

l3 2 至多刪三個字元 30 分 給定乙個全部由小寫英文本母組成的字串,允許你至多刪掉其中 3 個字元,結果可能有多少種不同的字串?輸入在一行中給出全部由小寫英文本母組成的 長度在區間 4,10 6 內的字串。在一行中輸出至多刪掉其中 3 個字元後不同字串的個數。ababcc25 刪掉 0 個字元...