C. Hello 2019 (cf-705e)
题意
输入一个字符串,区间询问 $[s_l,s_r]$ 中,删去最少的字符,使得出现子序列 $”2019”$ ,而不出现 $”2018”$
题解
$5$ 个状态:
- 0 - $””$
- 1 - $”2”$
- 2 - $”20”$
- 3 - $”201”$
- 4 - $”2019”$
使用一个 $5\times5$ 的矩阵来表示每个点的状态转移所需要的代价,区间查询即这个区间的矩阵的乘积,这里的乘积有些不同,有点像 $floyd$
代码
1 | char s[N],t[N]; |
题意
题解
代码
1 |