题目解析
我们考虑使用动态规划来统计所有的以 a,c,g,o 结尾的子序列的数量。
令 A,C,G,OA, C, G, OA,C,G,O 分别表示 a,c,g,o 结尾的子序列的数量。
遍历字符串 SSS,对于字符串 SSS 中的每个字符 SiS_iSi ,若其为 a,则将 AAA 加一;若其为 b,则将 BBB 更新为 B+AB + AB+A; 若其为 c,则将 CCC 更新为 C+BC + BC+B; 若其为 d,则将 DDD 更新为 D+CD + CD+C; 若为其他字符,则不做任何处理。
最终 DDD 即为所求的答案。
AC代码