名校训练2316: [传智杯]特殊的翻转题解

柳絮泡泡 算法基础篇 36 0
挑战自我,勇攀编程高峰!全网最全C++题库,助您成为编程达人。
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 的串。

名校训练2316: [传智杯]特殊的翻转题解
-第1张图片-东莞河马信息技术
(图片来源网络,侵删)
成为编程大师,不再是梦想!全网最全C++题库,助您开启编程新篇章。

标签: 名校训练2316: [传智杯]特殊的翻转题解