最近,我不得不重复一个字符串指定的次数。假设我必须有 5 个字符串“ bacon
”副本,并且我的编辑器中有 1 行“ bacon
”。所以我会从这个开始:
bacon
并以此结束:
bacon
bacon
bacon
bacon
bacon
让我们也定义三个“原子”操作:复制、粘贴和删除。“复制”允许您复制任意数量的行,“粘贴”粘贴最近复制的任何内容,“删除”删除一行。所以如果我有 3 行“ bacon
”:
bacon
bacon
bacon
我想要 10 行“ bacon
,”,我可以这样做:
copy 2 | lines of bacon: 3
paste 2 | lines of bacon: 5
copy 5 | lines of bacon: 5
paste 5 | lines of bacon: 10
但是,在i ≤ j的情况下,给定i行和j行所需的“原子”操作的最小数量是多少?是否有适用于这个问题的算法技术?还是我忽略了一些明显的东西?