CFCF2176F.Omega Numbers
提高+/省选-
通过率:0%
AC君温馨提醒
该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。
题目描述
对于给定的数字 n,定义函数 ω(n),表示数 n 的素因数分解中不相同的质数的个数。
例如,ω(12)=ω(22⋅3)=2。ω(120)=ω(23⋅3⋅5)=3。
对于一个由自然数组成的数组 a 和自然数 k,定义 f(a,k)=∑i<jω(ai⋅aj)k,对所有满足 i<j 的情况求和。
现在给定一个长度为 n 的自然数数组 a,和一个自然数 k,请计算 f(a,k) 对 998244353 取模后的结果。
输入格式
输入包含多组测试数据。第一行包含测试用例个数 t,(1≤t≤104)。每组测试数据描述如下:
每组测试数据的第一行包含两个整数 n 和 k,(1≤n≤2⋅105,1≤k≤109),分别表示数组 a 的长度和幂的指数。
第二行包含 n 个自然数 a1,a2,…,an,(1≤ai≤n),表示数组 a。
保证所有测试用例中 n 的总和不超过 2⋅105。
输出格式
对于每组测试数据,输出一行一个整数,表示函数 f(a,k) 对 998244353 取模后的结果。
输入输出样例
输入#1
3 4 1 3 3 3 3 4 1 1 1 1 1 4 2 1 2 3 4
输出#1
6 0 12
说明/提示
第一个测试用例的解释:
对于任意一对 (i,j),乘积的 ω(x) 都是 ω(32)=1。共有 6 个不同的 (i,j) 对,指数为 1,最后的答案为 6。
第二个测试用例的解释:
第二个测试用例中,任意一对的乘积都是 1,因此其中质因数的个数为 0,答案也为 0。
第三个测试用例的解释:
考虑所有的 (i,j) 对:
- (1,2):第 1 个和第 2 个数的乘积为 1⋅2,ω(2)=1。
- (1,3):第 1 个和第 3 个数的乘积为 1⋅3,ω(3)=1。
- (1,4):第 1 个和第 4 个数的乘积为 1⋅4,ω(22)=1。
- (2,3):第 2 个和第 3 个数的乘积为 2⋅3,ω(2⋅3)=2。
- (2,4):第 2 个和第 4 个数的乘积为 2⋅4,ω(23)=1。
- (3,4):第 3 个和第 4 个数的乘积为 3⋅4,ω(3⋅22)=2。
在答案中,ω(x) 的值需要取平方,所有项加起来为 12+12+12+22+12+22=12。