CF2086E.Zebra-like Numbers

提高+/省选-

通过率:0%

AC君温馨提醒

该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。

题目描述

我们称一个正整数为斑马数(zebra-like),如果它的二进制表示从最高有效位开始是交替的比特位,并且最低有效位等于 11。例如,数字 11、55 和 2121 都是斑马数,因为它们的二进制表示 11、101101 和 1010110101 满足要求,而数字 1010 不是斑马数,因为它的二进制表示 10101010 的最低有效位是 00。

我们定义一个正整数 ee 的斑马值为最小的整数 pp,使得 ee 可以表示为 pp 个斑马数(可以相同也可以不同)的和。

给定三个整数 ll、rr 和 kk,计算满足 l≤x≤rl \le x \le r 且 xx 的斑马值等于 kk 的整数 xx 的数量。

输入格式

每个测试包含多个测试用例。第一行包含一个整数 tt(1≤t≤1001 \le t \le 100)——测试用例的数量。接下来是测试用例的描述。

每个测试用例的唯一一行包含三个整数 ll、rr(1≤l≤r≤10181 \le l \le r \le 10^{18})和 kk(1≤k≤10181 \le k \le 10^{18})。

输出格式

对于每个测试用例,输出一个整数——区间 [l,r][l, r] 内斑马值为 kk 的整数的数量。

输入输出样例

  • 输入#1

    5
    1 100 3
    1 1 1
    15 77 2
    2 10 100
    1234567 123456789101112131 12

    输出#1

    13
    1
    3
    0
    4246658701

说明/提示

  • 在第一个测试用例中,有 1313 个符合条件的数字:3,7,11,15,23,27,31,43,47,63,87,91,953, 7, 11, 15, 23, 27, 31, 43, 47, 63, 87, 91, 95。每个数字都可以表示为 33 个斑马数的和。
  • 在第二个测试用例中,数字 11 的斑马值为 11,因此输出 11。
  • 在第四个测试用例中,区间 [2,10][2, 10] 内没有数字的斑马值为 100100,因此输出 00。

翻译由 DeepSeek V3 完成

输入解题思路,AI测评打分。不知道怎么写?

首页