Wannafly挑战赛13 - B Jxc的军训
链接: https://www.nowcoder.com/acm/contest/80/B
来源:牛客网
空间限制: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-11 (mod p)
输入描述:
输入只有一行,包含两个整数n、m。n和m的意义见题面.
输出描述:
第一行包含一个整数Ans,为答案
分析:
1)先了解一下'≡'的含义:
同余符号
两个整数a,b,若它们除以整数m所得的余数相等,则称a,b对于模m同余记作a≡b(mod m)读作a同余于b模m,或读作a与b关于模m同余。比如26≡14(mod 12)。
2)题中求的是1-m/n*n即(n*n-m)/n*n,考虑到精度问题,n*n^(-1)要换成乘法
体中给了费马小定理:x^(p-1)≡1%p,则x^(-1)≡x^(p-2)%p,x^(-1)与x^(p-2)同余,所以求x^(p-2)%p即可
附上取模运算的各种公式:
基本性质
- 若p|(a-b),则a≡b (% p)。例如 11 ≡ 4 (% 7), 18 ≡ 4(% 7)
- (a % p)=(b % p)意味a≡b (% p)
- 对称性:a≡b (% p)等价于b≡a (% p)
- 传递性:若a≡b (% p)且b≡c (% p) ,则a≡c (% p)
运算规则
- (a + b) % p = (a % p + b % p) % p (1)
- (a - b) % p = (a % p - b % p) % p (2)
- (a * b) % p = (a % p * b % p) % p (3)
- a ^ b % p = ((a % p)^b) % p (4)
- 结合律:((a+b) % p + c) % p = (a + (b+c) % p) % p (5)
- 交换律:(a + b) % p = (b+a) % p (7)
- 分配律:(a+b) % p = ( a % p + b % p ) % p (9)((a +b)% p * c) % p = ((a * c) % p + (b * c) % p) % p (10)
重要定理
- 若a≡b (% p),则对于任意的c,都有(a + c) ≡ (b + c) (%p);(11)
- 若a≡b (% p),则对于任意的c,都有(a * c) ≡ (b * c) (%p);(12)
- 若a≡b (% p),c≡d (% p),则 (a + c) ≡ (b + d) (%p),(a - c) ≡ (b - d) (%p),(a * c) ≡ (b * d) (%p),(a / c) ≡ (b / d) (%p); (13)
代码如下:
#include<iostream>
#include<cstdio>
#define ll long long
using namespace std;
const int mod=998244353;ll fast(ll a,ll b){ll res=1;while(b){if(b&1)res=a*res%mod;b>>=1;a=a*a%mod;}return res;
}int main(){ll n,m;scanf("%lld%lld",&n,&m);ll ans=n*n-m;ans=(ans*fast(n*n,mod-2))%mod;printf("%lld\n",ans);
}
Wannafly挑战赛13 - B Jxc的军训相关推荐
- Wannafly挑战赛13 B:Jxc军训(逆元)
题目描述 在文某路学车中学高一新生军训中,Jxc正站在太阳下站着军姿,对于这样的酷热的阳光,Jxc 表示非常不爽. Jxc将天空看做一个n*n的矩阵,此时天上有m朵云,这些云会随机分布在m个不同的位置 ...
- Wannafly挑战赛13 B.Jxc军训(概率)
题意: 解法: 这个n<=2000的数据范围容易让人往dp想,容易上当.实际上只需要考虑站的位置是否被云挡住即可, ans=P(不被云挡住)=1-P(被云挡住)=1-m/(n*n).其中P(被云 ...
- Wannafly挑战赛13 B-Jxc军训
Wannafly挑战赛13 B-Jxc军训 链接:https://www.nowcoder.com/acm/contest/80/B 来源:牛客网 题目描述 在文某路学车中学高一新生军训中,Jxc正站 ...
- Wannafly 挑战赛13 B- Jxc军训
题目描述 在文某路学车中学高一新生军训中,Jxc正站在太阳下站着军姿,对于这样的酷热的阳光,Jxc 表示非常不爽. Jxc将天空看做一个n*n的矩阵,此时天上有m朵云,这些云会随机分布在m个不同的位置 ...
- 【瓜分5000元奖金】Wannafly挑战赛13
链接:https://www.nowcoder.com/acm/contest/80/A 来源:牛客网 zzy的小号 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 262144K,其 ...
- Wannafly挑战赛13【A B C D】【逆元+数学+优先队列】
A zzy的小号 链接:https://www.nowcoder.com/acm/contest/80/A 来源:牛客网 题目描述 学家zzy根据字体的特点,创建了一系列小号- I_Love_Chth ...
- [Wannafly挑战赛2D-Delete]最短路
[Wannafly挑战赛2D-Delete]最短路 题目描述 给定一张 n 个点,m 条边的带权有向无环图,同时给定起点 S 和终点 T ,一共有 q 个询问,每次询问删掉某个点和所有与它相连的边之后 ...
- Wannafly挑战赛22游记
Wannafly挑战赛22游记 幸运的人都是相似的,不幸的人各有各的不幸. --题记 A-计数器 题目大意: 有一个计数器,计数器的初始值为\(0\),每次操作你可以把计数器的值加上\(a_1,a_2 ...
- Wannafly挑战赛19
Wannafly挑战赛19 A. 队列Q 需要支持把一个元素移到队首,把一个元素移到队尾,移到队首就直接放到队首前面那个位置,原位置标为0,队尾同理. #include <bits/stdc++ ...
最新文章
- python数据分析面试_python数据分析面试
- c语言某一行不被优化,C语言优化小技巧
- 代码演示C#各版本新功能
- 一起谈.NET技术,.NET4.0 之 Dynamic VS Reflection 效率
- java基础集合简介Map(三)下
- cocos 制作动态生成内容的列表_零代码工具,让你在线轻松制作交互内容!
- 没有Wi-Fi?三种方法通过iPhone让Macbook连上网络
- 【java】两个线程如何交替执行,一个输出偶数一个输出奇数?
- oracle PL/SL编程基础
- Coding Problem 模拟
- python机器学习库sklearn——模型评估
- Hasura GraphQL 内部表结构
- 自动驾驶7-3 最终项目解决方案 Final Project Solution
- docker安装nacos并配置mysql数据库教程
- 自动脚本 android,安卓自动脚本软件下载-自动脚本 安卓版v2.0.3-PC6安卓网
- 查看linux系统版本命令大全
- easyExcel去除网格线【完美解决】
- 【Windows】中DOMAIN域
- UE5笔记【六】流明引擎Lumen简介;Lumen处理发光物体。
- 仿InfoPath的Business Form 设计器
热门文章
- 想考华为认证,需要准备什么?
- 南京理工大学计算机复试题库,南京理工大学考研复试计算机数据库试题
- 大连计算机职业学校校长宋作德,《语文课程标准》(实验稿)的思考_语文论文.doc...
- AXI_lite代码简解(三)-AXI-LITE 自定义IP
- 给VS程序添加管理员权限等
- 在IE中通过a标签直接下载rar文件时以乱码方式打开
- vs打开项目提示incompatible
- 独角数卡--免费网店搭建详细教程
- 小米 android 9 名单,小米率先确认,进入首批安卓q升级名单,小米9会尽快升级!...
- 常见电容器图片_【热门】进口EPCOS电容器原厂品质