#lg15132. [ROIR 2026] 位魔法

[ROIR 2026] 位魔法

[AdditionalFile5569.zip](file://AdditionalFile5569.zip?type=additional_file)

#5569. 「ROIR 2026 Day2」位运算魔法

标签: 传统 | 时间限制: 1000 ms | 内存限制: 512 MiB |

题目描述

译自 ROI Regional 2026 Day2 T2. Битовая магия

给定三个非负整数 bbllrr,以十六进制形式给出(无前导零,除非数字本身为 00)。十六进制使用字符 0-9A-F,其中 A-F 分别对应十进制的 10-15

操作 & 表示位与(bitwise AND):对两个数的二进制表示(必要时左补零至相同长度),每一位结果为 11 当且仅当该位上两个数均为 11。要求计算满足以下条件的整数 xx 的个数:lxrl \leq x \leq rx & b=bx\ \&\ b = b (即 xxbb 的所有 1 位上也必须为 1xx 包含了 bb 的所有位)。

输出该数量对 109+710^9 + 7 取模的结果(十进制,无前导零)。

输入格式

输入共三行:

  • 第一行:十六进制字符串表示 ll
  • 第二行:十六进制字符串表示 rr
  • 第三行:十六进制字符串表示 bb

每个字符串长度不超过 5000050000,仅含大写字符 0-9A-F,无前导零。

保证 0lr0 \leq l \leq r

输出格式

输出一个整数:满足条件的 xx 数量对 109+710^9 + 7 取模的结果(十进制)。

样例 1

输入

8
F
5

输出

2

满足条件的 xx(十六进制)为 DF,共 22 个。

样例 2

输入

2
F9
A

输出

60

数据范围与提示

详细子任务附加限制及分值如下表所示:

子任务 分值 附加限制 子任务依赖
11 1010 0r,b<164, l=00 \leq r, b < 16^4,\ l = 0
22 55 0l,r,b<1640 \leq l, r, b < 16^4 11
33 1010 0r,b<167, l=00 \leq r, b < 16^7,\ l = 0
44 66 0l,r,b<1670 \leq l, r, b < 16^7 131 \sim 3
55 1010 0r,b<1615, l=00 \leq r, b < 16^{15},\ l = 0 1,31, 3
66 77 0l,r,b<16150 \leq l, r, b < 16^{15} 151 \sim 5
77 1414 0r,b<161000, l=00 \leq r, b < 16^{1000},\ l = 0 1,3,51, 3, 5
88 77 0l,r,b<1610000 \leq l, r, b < 16^{1000} 171 \sim 7
99 1111 0r,b<1650000, l=00 \leq r, b < 16^{50000},\ l = 0 1,3,5,71, 3, 5, 7
1010 1212 0l,r<1650000, b=00 \leq l, r < 16^{50000},\ b = 0
1111 88 0l,r,b<16500000 \leq l, r, b < 16^{50000} 1101 \sim 10