题库首页 › 青少年软件编程(C语言) › 题目 11384

最多删除两个字符 给定一个仅由小写英文字母组成的字符串,最多删两个字符后,能得到多少种不同的字符串? 时间限制:5000 内存限制:65536 输入 输入在一行中给出长度在区间 [3, 106] 内的仅由小写英文字母组成的字符串。 输出 在一行中输出最多删两个字符后所能得到的不同字符串的个数。 样例输入 ababcc 样例输出 15 提示 样例解释: 1、删除 0 个字符后得到 `ababcc`; 2、删除 1 个字符后得到 `babcc`, `aabcc`, `abbcc`, `abacc`, `ababc`; 3、删除 2 个字符后得到 `abcc`, `bbcc`, `bacc`, `babc`, `aacc`, `aabc`, `abbc`, `abac`, `abab`。

正确答案:参考程序(Python):最多删除两个字符。不同字符串个数。DP:dp[i][k]前i字符删k个的不同串数,去重(相同字符)。模。样例ababcc→15。核心:DP去重计数。

试卷来源:202412 青少年等级考试C/C++真题八级

本卷相关题目

在线做题 同科目题库