wmq的A×B Problem
发布时间: 2017年4月9日 17:06 最后更新: 2017年4月9日 17:07 时间限制: 3000ms 内存限制: 512M
这是一个非常简单的问题。
wmq如今开始学习乘法了!他为了训练自己的乘法计算能力,写出了n个整数,并且对每两个数a,b都求出了它们的乘积a×b。现在他想知道,在求出的n(n−1)2个乘积中,除以给定的质数m余数为k(0≤k<m)的有多少个。
第一行为测试数据的组数。
对于每组测试数据,第一行为2个正整数n,m,2≤n,m≤60000,分别表示整数的个数以及除数。
接下来一行有n个整数,满足0≤ai≤109。
保证总输出行数∑m≤3×105。
对每组数据输出m行,其中第i行为除以m余数为(i−1)的有多少个。
复制
2 4 5 2 0 1 7 4 2 2 0 1 6
3 0 2 0 1 6 0
对于第1组样例,求出的乘积为0,0,0,2,7,14,因而除以5余数为0的有3个,余数为1的有0个,余数为2的有2个,余数为3的有0个,余数为4的有1个。
数论
北方大学 ACM多校训练 第六场t
题解:
将给出的数m求其原根记为w,然后将n个数都表示为w的幂的形式,这样的话,两数相乘再取模的操作就变成了,两幂相加为定值的情况了。
根据两数的幂和为一定值,想到卷积的性质。