数据范围n≤20,因此可以考虑暴力枚举每一个子序列,判断枚举的子序列是否满足条件
我们可以使用DFS枚举,也可以使用二进制枚举,枚举选/不选第i个字符,最终构成最终的字符串即可。
首先,我们遍历所有可能的删除方案。由于不能删除两个连续的字符,我们可以使用位运算来表示删除方案。对于字符串中的每个字符,我们都有两种选择:删除它或保留它。因此,总共有2^n种可能的删除方案,其中n是字符串的长度。
然后,对于每一种删除方案,我们检查删除后的字符串是否是目标串。我们使用一个标志变量来表示当前的删除方案是否有效。如果删除后的字符串中存在两个连续的字符被删除,我们就将标志变量设置为false。
给定一个字符串 s。称一个字符串为“目标串”,当且仅当它包含连续子串 nova。
你可以删除原字符串中的若干字符。一个删除方案对应的删除位置集合中,不能同时包含原串中相邻的两个位置。删除选中字符后,若得到的结果串是目标串,则称该方案合法。
请你计算合法删除方案的数量。一个字符都不删除也算一种方案。
字符串 s 仅由小写英文字母组成,长度不超过 20。
By signing up a CodeFun2000 universal account, you can submit code and join discussions in all online judging services provided by us.