AT_arc059_d バイナリハック
题解区什么鬼。
只讲转移不说意义吗。这个真的很显然吗。
不妨考虑先钦定操作序列(敲字符还是退格),再钦定具体敲了哪个键。
首先,考虑这一个点,如果一个字符最终被删掉了,那么这个字符是
换句话说,假设敲了
因此,我们只需要对于每个合法的操作序列(
可以考虑 DP。但是,如果要记录有几个键被退掉了,那么则不能很好的设计状态 DP。
考虑一个延迟决策的思想,我们一开始让每个键都是正常键,等到一个字符被退格退掉的时候,我们再将其贡献
具体地,考虑
- 敲退格。
,退格是空敲。转移到 。 ,退掉了一个有效字符,那么那个字符就可以随意选择敲 了。 转移到 。
- 敲字符。转移到
。
复杂度平方。
AT_arc059_d バイナリハック
https://blogs.sving1024.top/posts/41473/