A15441 | Zeros and Ones
时间限制1s
内存限制256MB
通过 / 提交0/0
题目描述
Let $S$ be the [Thue-Morse sequence](https://en.wikipedia.org/wiki/Thue-Morse_sequence). In other words, $S$ is the $0$ -indexed binary string with infinite length that can be constructed as follows:
- Initially, let $S$ be "0".
- Then, we perform the following operation infinitely many times: concatenate $S$ with a copy of itself with flipped bits.For example, here are the first four iterations:
Iteration $S$ before iteration $S$ before iteration with flipped bitsConcatenated $S$ 1010120110011030110100101101001401101001100101100110100110010110 $\ldots$ $\ldots$ $\ldots$ $\ldots$
You are given two positive integers $n$ and $m$ . Find the number of positions where the strings $S_0 S_1 \ldots S_{m-1}$ and $S_n S_{n + 1} \ldots S_{n + m - 1}$ are different.
- Initially, let $S$ be "0".
- Then, we perform the following operation infinitely many times: concatenate $S$ with a copy of itself with flipped bits.For example, here are the first four iterations:
Iteration $S$ before iteration $S$ before iteration with flipped bitsConcatenated $S$ 1010120110011030110100101101001401101001100101100110100110010110 $\ldots$ $\ldots$ $\ldots$ $\ldots$
You are given two positive integers $n$ and $m$ . Find the number of positions where the strings $S_0 S_1 \ldots S_{m-1}$ and $S_n S_{n + 1} \ldots S_{n + m - 1}$ are different.
输入格式
Each test contains multiple test cases. The first line of the input contains a single integer $t$ ( $1 \le t \le 100$ ) — the number of test cases. The description of the test cases follows.
The first and only line of each test case contains two positive integers, $n$ and $m$ respectively ( $1 \leq n,m \leq 10^{18}$ ).
The first and only line of each test case contains two positive integers, $n$ and $m$ respectively ( $1 \leq n,m \leq 10^{18}$ ).
输出格式
For each testcase, output a non-negative integer — the Hamming distance between the two required strings.
输入输出样例
输入 #1
6 1 1 5 10 34 211 73 34 19124639 56348772 12073412269 96221437021
输出 #1
1 6 95 20 28208137 48102976088
The string $S$ is equal to 0110100110010110....
In the first test case, $S_0$ is "0", and $S_1$ is "1". The Hamming distance between the two strings is $1$ .
In the second test case, $S_0 S_1 \ldots S_9$ is "0110100110", and $S_5 S_6 \ldots S_{14}$ is "0011001011". The Hamming distance between the two strings is $6$ .
In the first test case, $S_0$ is "0", and $S_1$ is "1". The Hamming distance between the two strings is $1$ .
In the second test case, $S_0 S_1 \ldots S_9$ is "0110100110", and $S_5 S_6 \ldots S_{14}$ is "0011001011". The Hamming distance between the two strings is $6$ .
C++ 编辑器
输入
输出
可保存默认模板;新题优先使用已保存模板。
当前快捷键仅展示,暂不支持修改。
- 撤销
Ctrl / ⌘ + Z - 重做
Ctrl / ⌘ + Y - 查找
Ctrl / ⌘ + F - 全选
Ctrl / ⌘ + A - 复制
Ctrl / ⌘ + C - 剪切
Ctrl / ⌘ + X - 粘贴
Ctrl / ⌘ + V - 自动排版
工具栏排版按钮 - 草稿保存
编辑时自动保存到本机
历史
提交记录
状态说明时间源码
AI
作答助手
你好,我是作答助手。可以问思路、复杂度、样例含义或代码报错原因;不会直接给出完整 AC 代码。
确定要清空代码吗?
提交通过
评测结果:Accepted