对于「按 A 键」这种情况,就是状态 i - 1 的屏幕上新增了一个 A 而已,很容易得到结果:
dp[i] = dp[i - 1] + 1
;// 按 A 键,就比上次多一个 A 而已
但是,如果要按 C-V,还要考虑之前是在哪里 C-A C-C 的。
刚才说了,最优的操作序列一定是 C-A C-C 接着若干 C-V,所以我们用一个
变量 j
作为若干 C-V的起点(
应该看作C-C的位置
)。那么 j - 1 、j 操作就应该是 C-A C-C 了:
public
对于「按 A 键」这种情况,就是状态 i - 1 的屏幕上新增了一个 A 而已,很容易得到结果:
dp[i] = dp[i - 1] + 1
;// 按 A 键,就比上次多一个 A 而已
但是,如果要按 C-V,还要考虑之前是在哪里 C-A C-C 的。
刚才说了,最优的操作序列一定是 C-A C-C 接着若干 C-V,所以我们用一个
变量 j
作为若干 C-V的起点(
应该看作C-C的位置
)。那么 j - 1 、j 操作就应该是 C-A C-C 了:
public