链接:https://ac.nowcoder.com/acm/problem/15499
来源:牛客网
题目描述
在文某路学车中学高一新生军训中,Jxc正站在太阳下站着军姿,对于这样的酷热的阳光,Jxc 表示非常不爽。
Jxc将天空看做一个nn的矩阵,此时天上有m朵云,这些云会随机分布在m个不同的位置,同时太阳会随机出现在一个位置,Jxc想知道他被太阳晒到的概率是多少,由于他仍在站军姿,所以这个有趣的问题就交给了你。考虑到精度问题,Jxc只需要知道这个概率在对998244353取模意义下的值。
Tips:一个分数p/q在模意义下的值即pq-1在模意义下的值,X^(p-1)≡1 (mod p)。
输入描述
输入只有一行,包含两个整数n、m。n和m的意义见题面.
输出描述:
第一行包含一个整数Ans,为答案
分析:
(为了方便,规定^为幂运算符,而不是异或;并规定 MOD = 998244353)
首先分析这道题与概率有关,先不管最后的那个表达式是什么意思。现在有n*n个点,在其中会随机出现m躲云,实际上太阳随机出现的位置与答案并没有关系,因为太阳嘛,阳光的所到之处皆是光明,太阳可以把这n*n个点全部照亮,但是现在出现了m躲云,也就是说在这m躲云下是没有阳光的。因此以P表示某种情况下的概率,则 P(Jxc出现在云下的概率) = m / (n*n), 那么 P(Jxc出现在阳光下的概率) = 1 - P(Jxc出现在云下的概率) = 1 - m / (n*n) = (n^2 - m) / n^2 。但是这并不是最终的结果,题目要求结果要对998244353取模。(在这里,取模可暂时理解为取余,不过略有差别,可以看我的另一篇博客)。并且给出了分数取模的方法,和费马小定理。
现在,我们来了解一下何为费马小定理,费马小定理是数论中的一个重要定理,即:a^(p-1)≡1(mod p)。其中“≡”为同余符号,下面给出同余的简单概念:
数学上,两个整数除以同一个整数,若得相同余数ÿ