CF915G.Coprime Arrays
提高+/省选-
通过率:0%
时间限制:3.50s
内存限制:256MB
AC君温馨提醒
该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。
题目描述
Let's call an array a of size n coprime iff gcd(_a_1, _a_2, ..., a__n) = 1, where gcd is the greatest common divisor of the arguments.
You are given two numbers n and k. For each i (1 ≤ i ≤ k) you have to determine the number of coprime arrays a of size n such that for every j (1 ≤ j ≤ n) 1 ≤ a__j ≤ i. Since the answers can be very large, you have to calculate them modulo 109 + 7.
我们称一个长度为 $ n $ 的数组 $ a $ 是互质的,当且仅当 $ \gcd(a_1,,a_2,,\dots,,a_n) = 1 $,其中 $ \gcd $ 表示其参数的最大公约数。
给定两个整数 $ n $ 和 $ k $。对每个 $ i ( 1 \le i \le k $),你需要计算满足以下条件的互质数组 $ a $(长度为 $ n $)的个数:对每个 $ j ( 1 \le j \le n $),均有 $ 1 \le a_j \le i $。由于答案可能非常大,你需将结果对 $ 10^9 + 7 $ 取模。
输入格式
The first line contains two integers n and k (1 ≤ n, k ≤ 2·106) — the size of the desired arrays and the maximum upper bound on elements, respectively.
第一行包含两个整数 n 和 k(1≤n,k≤2⋅106),分别表示所求数组的大小以及元素的最大上界。
输出格式
Since printing 2·106 numbers may take a lot of time, you have to output the answer in such a way:
Let b__i be the number of coprime arrays with elements in range [1, i], taken modulo 109 + 7. You have to print
, taken modulo 109 + 7. Here
denotes bitwise xor operation (^ in C++ or Java, xor in Pascal).
由于输出 2×106 个数可能耗时较长,你需要按如下方式输出答案:
设 bi 表示元素取值范围为 [1,i] 的互质数组的个数(对 109+7 取模)。你需要输出

(对 109+7 取模)。其中

表示按位异或运算(C++ 或 Java 中为 ^,Pascal 中为 xor)。
输入输出样例
输入#1
3 4
输出#1
82
输入#2
2000000 8
输出#2
339310063
说明/提示
Explanation of the example:
Since the number of coprime arrays is large, we will list the arrays that are non-coprime, but contain only elements in range [1, i]:
For i = 1, the only array is coprime. _b_1 = 1.
For i = 2, array [2, 2, 2] is not coprime. _b_2 = 7.
For i = 3, arrays [2, 2, 2] and [3, 3, 3] are not coprime. _b_3 = 25.
For i = 4, arrays [2, 2, 2], [3, 3, 3], [2, 2, 4], [2, 4, 2], [2, 4, 4], [4, 2, 2], [4, 2, 4], [4, 4, 2] and [4, 4, 4] are not coprime. _b_4 = 55.
示例解释:
由于互质数组的数量很大,我们将列出那些非互质但所有元素均在范围 [1,i] 内的数组:
当 i=1 时,唯一数组是互质的,故 b1=1。
当 i=2 时,数组 [2,2,2] 不是互质的,故 b2=7。
当 i=3 时,数组 [2,2,2] 和 [3,3,3] 均不是互质的,故 b3=25。
当 i=4 时,以下数组均不是互质的:
[2,2,2]、[3,3,3]、[2,2,4]、[2,4,2]、[2,4,4]、[4,2,2]、[4,2,4]、[4,4,2] 和 [4,4,4],
故 b4=55。
输入解题思路,AI测评打分。不知道怎么写?