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++ ...
最新文章
- js递归函数使用介绍
- 前端不规则图像点击_css实现不规则图形的阴影(如对话框)
- js获取URL请求参数与改变src
- python libnum库安装使用方法
- mongodb 1安装,开启
- 中国环保塑料薄膜行业营销策略分析及投资规划建议报告2021-2027年版
- [NOI2018]你的名字
- php中自动转换、强制转换、其他数据类型和bool转换
- ASP.NET Session丢失问题原因及解决方案[转]
- wordpress-黑格网址blackgrid导航主题模板
- 【重难点】【JVM 02】反射在 JVM 层面的实现流程、Class.forName() 和 ClassLoader.loadClass 的区别
- oracle19c 安装权限_redhat7.6Linux安装Oracle19C完整版教程
- entOS查看系统信息-CentOS查看命令
- 专治数仓疑难杂症!美团点评 Flink 实时数仓应用经验分享
- 机器学习笔记(三十一):集成学习
- php openssl 处理pkcs8,【转载】OpenSSL命令---pkcs8
- Redis的下载安装
- 关于springcloud中eureka报错com.sun.jersey.api.client.ClientHandlerException: java.net.ConnectException:
- 北大计算机系录取通知书,北京大学98级计算机系本科同学毕业十周年聚会
- 半导体封装测试英语词汇量的软件,半导体英语
热门文章
- 计算机专业双学位选英语,想选双学位尤其是英语双学位的童鞋戳进来吧~~~
- 双系统Ubuntu分区
- AXI 基础第 2 讲——使用 AXI Verification IP (AXI VIP) 对 AXI 接口进行仿真
- solidworks更改默认单位
- matlab中带脚咪头怎么找,Matlab实时麦克风/摄像头声音视频捕获及处理
- 面试三轮我倒在了一道sql题上——sql性能优化
- 秋招末班车没赶上!只能走社招了么?
- 2018经典PHP面试题大全
- [Unity3D]Unity3D游戏开发之《愤怒的小鸟》弹弓实现
- 免费在线PHP加密、解密、混淆源代码工具- toolfk.com