CF1734F Zeros and Ones

题目描述

设 $S$ 为 [Thue-Morse 序列](https://en.wikipedia.org/wiki/Thue-Morse_sequence)。换句话说,$S$ 是一个以 $0$ 开头的无限长二进制字符串,可以按如下方式构造: - 初始时,令 $S$ 为 "0"。 - 然后,无限次执行以下操作:将 $S$ 与其自身的按位取反副本拼接。例如,前四次迭代如下所示: | 迭代次数 | 迭代前的 $S$ | 迭代前的 $S$ 的按位取反 | 拼接后的 $S$ | |:--------:|:------------:|:-----------------------:|:------------:| | 1 | 0 | 1 | 01 | | 2 | 01 | 10 | 0110 | | 3 | 0110 | 1001 | 01101001 | | 4 | 01101001 | 10010110 | 0110100110010110 | | ... | ... | ... | ... | 你将得到两个正整数 $n$ 和 $m$。请你计算字符串 $S_0 S_1 \ldots S_{m-1}$ 与 $S_n S_{n+1} \ldots S_{n+m-1}$ 在对应位置上有多少个不同的字符。

输入格式

每组测试数据包含多组测试用例。输入的第一行包含一个整数 $t$($1 \le t \le 100$),表示测试用例的数量。接下来的每组测试用例包含一行,包含两个正整数 $n$ 和 $m$($1 \leq n, m \leq 10^{18}$)。

输出格式

对于每组测试用例,输出一个非负整数,表示所求的两个字符串的汉明距离。

说明/提示

字符串 $S$ 等于 0110100110010110...。 在第一个测试用例中,$S_0$ 是 "0",$S_1$ 是 "1"。这两个字符串的汉明距离为 $1$。 在第二个测试用例中,$S_0 S_1 \ldots S_9$ 是 "0110100110",$S_5 S_6 \ldots S_{14}$ 是 "0011001011"。这两个字符串的汉明距离为 $6$。 由 ChatGPT 4.1 翻译