牛客小白月赛28 A牛牛和牛可乐的赌约 (数论-费马小定理)
题目
A牛牛和牛可乐的赌约
题目链接
传送门
题解
注意阅读题目是计算牛牛输的概率。
需要掌握的知识点
- 快速幂
- 费马小定理
- 分数取模
首先我们容易知道 牛牛 赢的概率是 1 n m \frac{1}{n^m} nm1
那么牛牛输的概率就是 1 − 1 n m 1-\frac{1}{n^m} 1−nm1
这输的值一看就十分难以取模,那么我们就思考特殊分数,即当分子为1的时候取模是不是会比较简单呢
于是就从 1 n m \frac{1}{n^m} nm1 入手
先引入费马小定理
假设要求解 1 a m o d p \frac{1}{a} mod p a1modp ,引用 a p − 1 = 1 ( m o d p ) a^{p-1}=1 (mod p) ap−1=1(modp)
推导过程 将 a p − 1 = a p − 2 ∗ a a^{p-1}=a^{p-2}*a ap−1=ap−2∗a 带入得 a p − 2 ∗ a = 1 m o d p a^{p-2}*a=1 mod p ap−2∗a=1modp
可得
a p − 2 = 1 a m o d p a^{p-2}=\frac{1}{a} mod p ap−2=a1modp
很明显,此处的a不就正是我们的 n m n^m nm
化简可得
n m ∗ ( p − 2 ) = 1 n m m o d p n^{m*(p-2)}=\frac{1}{n^m}modp nm∗(p−2)=nm1modp
然而这不是输,这是赢的值
故
p + 1 − n m ∗ ( p − 2 ) = 1 − 1 n m p+1-n^{m*(p-2)}=1-\frac{1}{n^m} p+1−nm∗(p−2)=1−nm1
因为整项是对p取模的,所以需要 p + 1 − p+1- p+1−
代码
//https://blog.csdn.net/godleaf/article/details/79844074
//费马小定理对分数取模ll qpow(ll a, ll b, ll mod){ll ans = 1;while (b){if (b & 1){ans = (ans * a) % mod;}a = a * a % mod;b >>= 1;}return ans;
}
const int p = 1e9 + 7;
int main(){int t; scanf("%d", &t);while(t--){ll n, m; scanf("%lld%lld",&n, &m);ll t1 = qpow(n, p - 2, p);ll t2 = qpow(t1, m, p);t2 = (1 - t2 + p) % p;printf("%lld\n", t2);}
}
牛客小白月赛28 A牛牛和牛可乐的赌约 (数论-费马小定理)相关推荐
- 牛客小白月赛28 B.牛牛和牛可乐的赌约2
牛客小白月赛28 B.牛牛和牛可乐的赌约2 题目链接 题目描述 牛牛感觉在上一次赌约中,情况对于自己非常不利,所以决定再赌一场. 这时候,牛蜓队长出现了:第一,绝对不意气用事:第二,绝对不漏判任何一件 ...
- 牛客小白月赛28 G.牛牛和字符串的日常
牛客小白月赛28 G.牛牛和字符串的日常 题目链接 题目描述 牛牛每天都要做的事就是读书,从书里找自己喜欢的句子,他每天都会去读一本书,如果牛牛今天读的书的某连续 k k k 个字符刚好是牛牛喜欢句子 ...
- 牛客小白月赛28 J.树上行走
牛客小白月赛28 J.树上行走 题目链接 题目描述 牛牛苦练武功绝学--轻功水上漂,最终没有练成,但是他学会了在树上行走的本领. 这天,牛牛落入了敌人的陷阱,身后有巨石追击,面前有n个点,n-1条边连 ...
- 牛客小白月赛28 D.位运算之谜
牛客小白月赛28 D.位运算之谜 题目链接 题目描述 a+ba + ba+b 的值为 xxx,a&ba\&ba&b 的值为 yyy,首先需要判断能否有一组 a,ba,ba,b ...
- 牛客小白月赛28 E-会当凌绝顶,一览众山小 线段树+二分暴力模拟
牛客小白月赛28 E-会当凌绝顶,一览众山小 线段树+二分暴力模拟 题意 思路 Code 传送门: https://ac.nowcoder.com/acm/contest/16081/E 题意 登山顺 ...
- 牛客小白月赛28—E会当凌绝顶,一览众山小(线段树)
链接:https://ac.nowcoder.com/acm/contest/7412/E 来源:牛客网 题目描述 牛牛最喜欢爬山了,他喜欢站在最高的山峰上展望. 牛牛来到山脚下,看到这里一共有 n ...
- 牛客小白月赛5 E 面积 计算三角形面积模板 波尔约-格维也纳定理 匹克公式
链接:https://www.nowcoder.com/acm/contest/135/E 来源:牛客网 题目描述 定义"最大生成图":在M*N的点阵中,连接一些点形成一条经过所有 ...
- 牛客小白月赛28 C-单词记忆方法——dfs
单词记忆方法 题目描述 牛牛考完了四六级,准备分享一下自己的英语学习方法. 牛牛:学习英语最重要的就是背单词,如果你能把所有的单词都记住,那么你的英语就能变成天下第一. 然而牛牛的记忆方法就是把单词的 ...
- 牛客小白月赛65个人题解A-E
1. 牛客小白月赛65 A. 牛牛去购物 题意:给定n元,购买价格为a元的篮球和价格为b的篮球,数量不定,要使得花掉的钱最多,也就是剩余的钱数最少,求这个值 (1 <= n, a, b < ...
最新文章
- 数学建模记录(如何组织,如何参加)(一)
- WIN10运行软件,窗口不显示(移动到屏幕外无法复原)的解决办法 Label:Win10解决方案
- 没有统计学基础可以学python-想入门数据分析,现在转行还来得及吗?
- 工作中Oracle常用的SQL
- ##API(七)————日期操作类(二)
- (Oracle学习笔记) Oracle概述
- 如何:优化Hive ZooKeeper Lock Manager实施
- java框架----mybatis的使用(一)
- Ubuntu下BOINC服务器安装(step8失败)
- 转发和重定向又是什么“垃圾”——教你再分类
- CentOS7学习笔记--PHP环境安装
- 泛微OA缓存开启方式
- css怎么修改图片像素,怎么改变图片宽度_word怎么改变图片像素大小
- 《数学之美》吴军-读书笔记
- UCLA教授朱松纯:走向通用人工智能,从大数据到大任务
- python打九九乘法表上三角下三角_Python-零基础自学系列之九九乘法表、打印菱形、打印对顶三角形、打印闪电、斐波拉契数列、素数...
- 现实迷途 第二章 借酒买醉
- Python PrettyTable 模块(美化库)
- 短链接服务商Bitly推出名为RealTime的“互联网热点发掘引擎”
- java中的解耦_java-了解如何解耦