给定长度为 𝑛 的序列,其中每个元素为 0 或 1,有两种可用操作:
问题是:任何序列都可以在有限步数内转化为全零序列吗?
长度为 n 的序列,其中可能的值为 {0; 1} 是以 n 位为基数 2(二进制数)表示的数字。
当您删除最后一位时,您实际上将之前的数字除以 2。当您在该二进制数的开头添加 0 时,您实际上完成了除以 2(并忽略可能存在的任何余数)。当您在序列前面添加 1 时,实际上是将 2^n-1 添加到除以 2 的结果中(忽略余数)。
让我们想想这里的策略。如果您希望将 1 转换为 0oe,则如果您的数字看起来像 0 0 0 0 0 0 0 ... 0 0 1 1 1 ... 1 1,则可以。您只需将 1 转换为 0,然后停止完成的。然而,如果存在间隙,例如 0 1 0 1 0 1,那么如果您将第一个 1 变为 0,下一个 0 变为 1,依此类推,那么您除了反转位之外什么也没有实现。然而,如果你始终将 1 保留为 1,并希望 0 最终会变成 1,那么你仍然无法保证数字会不断变化。
所以问题来了,是否可以有一些聪明的策略,有时将 1 更改为 0,有时不更改。我没有看到这样的策略。您的 0 可能在任何时候变成 1,并且在一般情况下,为了确定前面的 1 是否应该保留为 1(以控制该位)或 0(以拥有所需的位),您需要下一次随机化的结果,你不知道。
这是欲望与控制之间的冲突。如果你暂时屈服于你的欲望,那么你就会失去对它的控制,如果你继续控制它,那么你的欲望就不会实现。
因此,当你有一个解决方案时,总共n位(k >= 0)中的前k位全为1,其他全为0,在这种情况下,你可以使用对前k位的控制我可以满足您的愿望,而不必担心失去对它们的控制,因为在这种情况下您永远不会面临后果。