操作集锦 题目描述 给定一个长度为 的有小写字母组成的字符串。 求长度为 的本质不同的子序列个数,对 取模。 正解 如果设 为考虑到第 个位置,且第 个位置必须选,选出的本质不同的子序列个数。 设出状态不难,难的是转移如何不会重复。 如果一个子序列只在出现的第一次被算入答案,就不会计算重复了对吧。 考虑构造出序列自动机(位置为 ,字符 的下一个位置),这是找子序列第一次出现的常见套路。 那么转移就很简单了,当前位置为 ,枚举当前长度为 ,转移字符为 ,则有 的转移。 最后所有 就是答案了。 #include <bits/stdc++.h> #define N 1005 usin...