牛客15499 Jxc军训(快速幂,逆元)
鏈接:https://ac.nowcoder.com/acm/problem/15499
來源:??途W
時間限制:C/C++ 1秒,其他語言2秒
空間限制:C/C++ 262144K,其他語言524288K
64bit IO Format: %lld
題目描述
在文某路學車中學高一新生軍訓中,Jxc正站在太陽下站著軍姿,對于這樣的酷熱的陽光,Jxc 表示非常不爽。
Jxc將天空看做一個n*n的矩陣,此時天上有m朵云,這些云會隨機分布在m個不同的位置,同時太陽會隨機出現在一個位置,Jxc想知道他被太陽曬到的概率是多少,由于他仍在站軍姿,所以這個有趣的問題就交給了你。考慮到精度問題,Jxc只需要知道這個概率在對998244353取模意義下的值。
Tips:一個分數p/q在模意義下的值即p*q-1在模意義下的值,Xp-1\equiv≡1 (mod p)
輸入描述:
輸入只有一行,包含兩個整數n、m。n和m的意義見題面.
輸出描述:
第一行包含一個整數Ans,為答案
有關逆元的博客:https://www.cnblogs.com/linyujun/p/5194184.html
這道題里面,
p = (n* n-m)
q = n* n
ans = p/q = p*q-1
題目提示了費馬小定理
X^(a-1) ≡1 (mod a)
兩邊同除以X
X^(a-2) ≡1/X (mod a)
所以 1/X = X^(a-2)(mod a)
即 q-1 = q^(a-2)(mod a),這里的a取 998244353,結果再乘上p即可。
""" p = (n*n-m) q = n*n ans = p/q = p*q-1 """ n, m = list(map(int, input().split())) mod = 998244353 ans = (n*n-m)*pow(n*n, mod-2, mod)%mod print(ans)總結
以上是生活随笔為你收集整理的牛客15499 Jxc军训(快速幂,逆元)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: linux的驱动开发——简单驱动程序编写
- 下一篇: linux标准I/O——流的相关操作