解题思路
本题考查进制转换与位运算。将两个掩码字符串解析为 64 位无符号整数后,交集为按位与,并集为按位或,第三项是并集在 64 位上最长连续 1 的长度。
算法:前缀解析 + 按位与/或 + 线性扫位
- 进制解析:若字符串以
0b/0B 开头则按二进制转换,以 0x/0X 开头则按十六进制转换,否则按十进制转换。输入保证合法且不超过 264−1。
- 交集 / 并集:对两个整数做
& 与 |。必须按 64 位无符号语义处理,否则最高位(信道 63)为 1 时,有符号类型会变成负数,后续移位或循环可能出错。
- 最长连续 1:只统计并集。从信道 0 到信道 63 依次查看该位:遇到 1 则当前长度加一并更新答案,遇到 0 则当前长度清零。信道 63 与信道 0 不相邻,不能把掩码当成环。