解题思路
关键观察
题目要求统计有序对 (a,b)(1≤a,b≤n)且满足 (a∣b)≤K。
注意这是“数值上的 ≤”,而不是“按位包含关系”。例如:K=5(01012),(a∣b)=3(00112) 也满足 ≤K(虽然 3 在某些位上为 1 而 K 为 0)。
因此,不能简单地只数“只用到了 K 的 1 位的数”。更稳妥的做法是二进制数位 DP(Digit DP):
P3669.第3题-王炸或
题目内容
给定正整数 n 和整数 K ,考虑所有有序整数对 (a,b) ,满足 1≤a,b≤n 且 (a丨b)≤K ,其中 a丨b 表示 a 和 b 的按位或。
请计算满足条件的数对总数。由于答案可能很大,请将答案对 (109+7) 取模后输出。