描述這是乙個非常簡單的問題。
wmq如今開始學習乘法了!他為了訓練自己的乘法計算能力,寫出了
n 個整數,並且對每兩個數a,
b 都求出了它們的乘積a×
b 。現在他想知道,在求出的n(
n−1)
2 個乘積中,除以給定的質數
m 餘數為k(
0≤k的有多少個。 輸入
第一行為測試資料的組數。
對於每組測試資料,第一行為
2 個正整數n,
m,2≤
n,m≤
60000
,分別表示整數的個數以及除數。
接下來一行有
n 個整數,滿足0≤
ai≤10
9 。
保證總輸出行數∑m
≤3×10
5 。 輸出
對每組資料輸出
m 行,其中第
i 行為除以
m 餘數為(i
−1) 的有多少個。
樣例輸入1
複製
24 52 0 1 7
4 22 0 1 6
樣例輸出1
302提示0160
對於第1組樣例,求出的乘積為0,
0,0,
2,7,
14 ,因而除以
5 餘數為
0 的有
3 個,餘數為
1 的有
0 個,餘數為
2 的有
2 個,餘數為
3 的有
0 個,餘數為
4 的有
1 個。 標籤
數論 **北方大學 acm多校訓練 第六場t
題解:將給出的數m求其原根記為w,然後將n個數都表示為w的冪的形式,這樣的話,兩數相乘再取模的操作就變成了,兩冪相加為定值的情況了。
根據兩數的冪和為一定值,想到卷積的性質。
快速傅利葉變換 快速數論變換
update 3.29.2017 2月10日初學,記得那時好像是正月十五放假那一天 當時寫了手寫版的筆記 過去近50天差不多忘光了,於是複習一下,具體請看手寫版筆記 參考文獻 picks miskcoo menci 阮一峰 i 表示逆時針旋轉90度 a bi 對應復平面上的向量 複數加法同向量 複數...
快速數論變換 NTT
今天的a題,裸的ntt,但我不會,於是白送了50分。於是跑來學一下ntt。題面很簡單,就懶得貼了,那不是我要說的重點。重點是ntt,也稱快速數論變換。在很多問題中,我們可能會遇到在模意義下的多項式乘法問題,這時傳統的快速傅利葉變換可能就無法滿足要求,這時候快速數論變換就派上了用場。考慮快速傅利葉變換...
模板 快速數論變換 NTT
code 對比先要把fft學習清楚才能進行.因為基本原理都是一樣的.fft是根據複數和n nn次單位根構造演算法的.但是,使用複數和單位根有以下兩個缺點 複數運算計算量大,常數比較高 複數是基於dou bledouble double 運算的,可能會出現精度誤差 這兩個缺點都很致命.但是,我們經常接...