k 老师在研究一段病毒程序的代码,这段代码是由一段长度不超过 10^6106 的十六进制字符组成的信息,现在 k 老师要将其转换为二进制的 0/1 串,然后对这个 0/1 串进行“翻转”操作,k 老师想知道,如何用最少的“翻转”步骤,将这个 0/1 串变为全 0 的串。
k 老师在研究一段病毒程序的代码。这段代码是由一段长度不超过 10^6106 的十六进制字符(也就是 0 到 9 和 A 到 F)组成的信息。现在 k 老师要将其转换为二进制的 0/1 串(这个时候需要确保最高位是 1)。然后对这个 0/1 串进行“翻转”操作。 对于每次“翻转”操作,k 老师可以选择这个 0/1 串中的其中一位,将这一位和这一位相邻的两位,一共三位,分别进行“翻转”(也就是 0 变 1,1 变 0)。如果指定的这一位是序列的开头或者结尾,那么翻转这一位和存在的相邻位即可。 k 老师想知道,如何用最少的“翻转”步骤,将这个 0/1 串变为全 0 的串。
(图片来源网络,侵删)