計數類問題中的取模運算總結

2022-03-20 04:08:21 字數 736 閱讀 8380

本篇隨筆簡單講解一下資訊學奧林匹克競賽中計數類問題中的取模運算相關知識。算是一篇總結性質的部落格,將會簡單介紹在計數類問題進行答案統計的時候如何對算式進行合法的取模。

如果是形如\((a+b)\,\,mod\,\,p\)的式子,可以變成:\(a\,\,mod\,\,p+b\,\,mod\,\,p\)。

因為減法是加法的一種相反數運算,所以減法的取模運算也滿足上面的式子:

\((a-b)\,\,mod\,\,p\)可以變成:\(a\,\,mod\,\,p-b\,\,mod\,\,p\)。

即\((a\times b)\,\,mod\,\,p\)可以變成\(a\,\,mod\,\,p\times b\,\,mod\,\,p\)。

除法運算在數學中一直是一種比較獨特的運算,雖然它也是四則混合運算之一,但它的運算方式不一樣。

好話說三遍:不一樣!不一樣!不一樣!

也就是說,\((a/b)\,\,mod\,\,p\)並不等於\(\frac\)。

它的取模運算法則是:分子乘以分母的乘法逆元

也就是說:

\[a/b\equiv a\times b^\,\,\,(mod\,\,p)

\]其實我覺得我們只需要注意一下除法運算的取模,因為乘方運算的取模說白了就是連乘,而我們已經學會了乘法的取模運算,那麼就只需要一直乘上去即可:

即:\[a^b\equiv (a\%p)^b\,\,\,(mod\,\,p)

\]

除法的取模運算

逆元 若,b b1 c 1 則,b1稱為b模c的乘法逆元。在acm中,許多除法取模都要用到求逆元。但是,逆元,為什麼能給我們帶來 a b c a b1 c 當然a b要整除 要知道,取模等式等價變形中,是沒有除法的!而推導式,還是沒有用除法的地方!我們用反證法證明 若b b1 c 1,則 a b c...

取模運算的應用

有時候數非常大是可以考慮取模,多選擇一些模數提高正確率。取模運算可以理解為乙個雜湊雜湊函式,為了避免雜湊衝突,可以分別模不同的模數,如果每乙個模數都沒有產生雜湊衝突那麼就可以認為兩個數是相同的。判斷兩個數a,b是否相等,如果膜上10相等,膜上11相等。那麼有a k 110 b。110是10和11的最...

Java中的取餘運算和取模運算

通常取模運算也叫取餘運算,他們都遵循處罰法則,返回結果都是餘數 但是仔細看是不一樣的,詳細請看例項 1.取餘 rem 3,2 1 rem 3,2 1 rem 3,2 1 rem 3,2 1 2.取模 mod 3,2 1 mod 3,2 1 mod 3,2 1 mod 3,2 1 由此可以看出,rem...