#P10855. 【MX-X2-T4】「Cfz Round 4」Gcd with Xor

    ID: 12325 远端评测题 1000ms 512MiB 尝试: 0 已通过: 0 显示难度省选/NOI− 上传者: 标签>数学数论O2优化莫比乌斯反演容斥原理字典树 Trie梦熊比赛

【MX-X2-T4】「Cfz Round 4」Gcd with Xor

背景

原题链接:https://oier.team/problems/X2D。


ねえ もしも全て投げ捨てられたら
呐 若然能将一切舍弃的话

笑って生きることが楽になるの
笑着活下去这样的事就会变的轻松吗

题目描述

给定两个正整数 n,kn,k。

定义 $\displaystyle f(x)=\sum_{i=1}^x \gcd(i,i\oplus x)^k$。计算 ∑i=1nf(i)\displaystyle \sum_{i=1}^n f(i)。其中 gcd⁡(a,b)\gcd(a,b) 表示 aa 和 bb 的最大公因数,⊕\oplus 表示按位异或,即 C++ 中的 ^。

由于答案可能很大,所以你只需要输出答案对 109+710^9+7 取模的结果。

输入格式

本题有多组测试数据。

输入的第一行包含一个整数 TT,表示测试数据组数。

接下来依次输入每组测试数据。对于每组测试数据,输入一行两个正整数 n,kn,k。

输出格式

对于每组测试数据,输出一行一个整数,表示答案对 109+710^9+7 取模的结果。

5
3 2
10 1
261 261
2333 2333
124218 998244353
17
134
28873779
470507314
428587718

提示

【样例解释】

对于第 11 组测试数据:

f(1)=gcd⁡(1,0)2=1f(1)=\gcd(1,0)^2=1。

f(2)=gcd⁡(1,3)2+gcd⁡(2,0)2=5f(2)=\gcd(1,3)^2+\gcd(2,0)^2=5。

f(3)=gcd⁡(1,2)2+gcd⁡(2,1)2+gcd⁡(3,0)2=11f(3)=\gcd(1,2)^2+\gcd(2,1)^2+\gcd(3,0)^2=11。

f(1)+f(2)+f(3)=17f(1)+f(2)+f(3)=17。

【数据范围】

对于所有测试数据,1≤T≤10001\le T\le 1000,1≤n≤2×1051\le n\le 2\times 10^5,∑n≤2×105\sum n\le 2\times 10^5,1≤k≤1091\le k\le 10^9。

本题采用捆绑测试。

设 ∑n\sum n 表示单个测试点中 nn 的和。

  • Subtask 1(10 points):∑n≤2000\sum n\le 2000。
  • Subtask 2(12 points):∑n≤104\sum n\le 10^4。
  • Subtask 3(15 points):k=1k=1。
  • Subtask 4(45 points):∑n≤105\sum n\le 10^5。
  • Subtask 5(18 points):无特殊限制。