[SNOI2019] 數論

最爱丁珰發表於2024-05-07

這一道題目最好記住,就是兩個模數之間在互相作用

首先轉化一下,我們列舉其中一個集合然後快速查詢另一個集合

也就變成了\((a_i+kP)mod\: Q∈B\)

然後看這篇文章的建模

解釋一下

它是將\([0,Q)\)中的每一個數弄成一個環,就像下面這樣

然後加一個\(P\)就相當於瞬時間走\(P\)

假設走了\(k\)\(P\),也就有\(i+kP\equiv i (mod\: Q)\),即\(kP\equiv 0 (mod\: Q)\)

這個式子的意思就是這個\(kP\)要最小,而且\(kP\)既是\(P\)的倍數也是\(Q\)的倍數,那當然就有\(kP=lcm(P,Q)\)

然後腦子模擬一下這個過程,就會發現這個環是獨立的(也就是剩下的論述顯然成立)

然後就是細節了