ETH官方钱包

前往
大廳
主題

ZeroJudge - f980: Without Me 解題心得

Not In My Back Yard | 2021-07-24 00:00:01 | 巴幣 0 | 人氣 254

題目連結(jié):


題目大意:
輸入有多列,每列給定兩正整數(shù) n 、 P(n 的「位數(shù)長」 ≦ 10000,2 ≦ P ≦ 10007),試問 n 個相異的數(shù)字在隨機打亂之後會是排序好的狀態(tài)之機率為何?假設(shè)答案形為 1 ÷ answer ,則我們輸出 answer。因為答案可能很大,所以將其模 P 後輸出。



範(fàn)例輸入:
116 6733
881 4073
881 8803
521 9539
867 877


範(fàn)例輸出:
2896
763
2968
7738
31


解題思維:
n 個相異的數(shù)字隨機打亂的狀態(tài)數(shù)有 n!。而已排序好的狀態(tài)只有一種,因此機率為 1 ÷ n!。所以所求即為 n! 模 P 之值。

可以看到當(dāng) n 值 ≧ P 時,n! 模 P 會等於 0。所以我們即使 n 值很大,我們只要先行判斷便可以解決。

剩下的 n < P 的情況,我們直接一邊計算一邊求餘便可以求得 n! 模 P 之值。




此次分享到此為止,如有任何更加簡潔的想法或是有說明不清楚之地方,也煩請各位大大撥冗討論。

創(chuàng)作回應(yīng)

追蹤 創(chuàng)作集

作者相關(guān)創(chuàng)作

相關(guān)創(chuàng)作

更多創(chuàng)作