题目

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 a1​modp ,引用 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=a1​modp

很明显,此处的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)=nm1​modp
然而这不是输,这是赢的值

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牛牛和牛可乐的赌约 (数论-费马小定理)相关推荐

  1. 牛客小白月赛28 B.牛牛和牛可乐的赌约2

    牛客小白月赛28 B.牛牛和牛可乐的赌约2 题目链接 题目描述 牛牛感觉在上一次赌约中,情况对于自己非常不利,所以决定再赌一场. 这时候,牛蜓队长出现了:第一,绝对不意气用事:第二,绝对不漏判任何一件 ...

  2. 牛客小白月赛28 G.牛牛和字符串的日常

    牛客小白月赛28 G.牛牛和字符串的日常 题目链接 题目描述 牛牛每天都要做的事就是读书,从书里找自己喜欢的句子,他每天都会去读一本书,如果牛牛今天读的书的某连续 k k k 个字符刚好是牛牛喜欢句子 ...

  3. 牛客小白月赛28 J.树上行走

    牛客小白月赛28 J.树上行走 题目链接 题目描述 牛牛苦练武功绝学--轻功水上漂,最终没有练成,但是他学会了在树上行走的本领. 这天,牛牛落入了敌人的陷阱,身后有巨石追击,面前有n个点,n-1条边连 ...

  4. 牛客小白月赛28 D.位运算之谜

    牛客小白月赛28 D.位运算之谜 题目链接 题目描述 a+ba + ba+b 的值为 xxx,a&ba\&ba&b 的值为 yyy,首先需要判断能否有一组 a,ba,ba,b ...

  5. 牛客小白月赛28 E-会当凌绝顶,一览众山小 线段树+二分暴力模拟

    牛客小白月赛28 E-会当凌绝顶,一览众山小 线段树+二分暴力模拟 题意 思路 Code 传送门: https://ac.nowcoder.com/acm/contest/16081/E 题意 登山顺 ...

  6. 牛客小白月赛28—E会当凌绝顶,一览众山小(线段树)

    链接:https://ac.nowcoder.com/acm/contest/7412/E 来源:牛客网 题目描述 牛牛最喜欢爬山了,他喜欢站在最高的山峰上展望. 牛牛来到山脚下,看到这里一共有 n ...

  7. 牛客小白月赛5 E 面积 计算三角形面积模板 波尔约-格维也纳定理 匹克公式

    链接:https://www.nowcoder.com/acm/contest/135/E 来源:牛客网 题目描述 定义"最大生成图":在M*N的点阵中,连接一些点形成一条经过所有 ...

  8. 牛客小白月赛28 C-单词记忆方法——dfs

    单词记忆方法 题目描述 牛牛考完了四六级,准备分享一下自己的英语学习方法. 牛牛:学习英语最重要的就是背单词,如果你能把所有的单词都记住,那么你的英语就能变成天下第一. 然而牛牛的记忆方法就是把单词的 ...

  9. 牛客小白月赛65个人题解A-E

    1. 牛客小白月赛65 A. 牛牛去购物 题意:给定n元,购买价格为a元的篮球和价格为b的篮球,数量不定,要使得花掉的钱最多,也就是剩余的钱数最少,求这个值 (1 <= n, a, b < ...

最新文章

  1. 数学建模记录(如何组织,如何参加)(一)
  2. WIN10运行软件,窗口不显示(移动到屏幕外无法复原)的解决办法 Label:Win10解决方案
  3. 没有统计学基础可以学python-想入门数据分析,现在转行还来得及吗?
  4. 工作中Oracle常用的SQL
  5. ##API(七)————日期操作类(二)
  6. (Oracle学习笔记) Oracle概述
  7. 如何:优化Hive ZooKeeper Lock Manager实施
  8. java框架----mybatis的使用(一)
  9. Ubuntu下BOINC服务器安装(step8失败)
  10. 转发和重定向又是什么“垃圾”——教你再分类
  11. CentOS7学习笔记--PHP环境安装
  12. 泛微OA缓存开启方式
  13. css怎么修改图片像素,怎么改变图片宽度_word怎么改变图片像素大小
  14. 《数学之美》吴军-读书笔记
  15. UCLA教授朱松纯:走向通用人工智能,从大数据到大任务
  16. python打九九乘法表上三角下三角_Python-零基础自学系列之九九乘法表、打印菱形、打印对顶三角形、打印闪电、斐波拉契数列、素数...
  17. 现实迷途 第二章 借酒买醉
  18. Python PrettyTable 模块(美化库)
  19. 短链接服务商Bitly推出名为RealTime的“互联网热点发掘引擎”
  20. java中的解耦_java-了解如何解耦

热门文章

  1. 【资料分享】心理咨询技术书单① | 认知行为疗法(CBT技术)5大著作
  2. 在线教育平台关于课程进度的处理方法
  3. 运行剑灵与服务器断开,剑灵手游程序错误、和服务器断开、登陆不了怎么办
  4. Android-Kotlin-印章类
  5. 19美亚 团队赛(完整版)
  6. 崩坏三如何修改服务器,怎么更改崩坏3的服务器地址
  7. 双十一买哪款蓝牙耳机划算?性价比高的蓝牙耳机排行榜
  8. Ubuntu下的常用命令之——cp
  9. 明日之后什么服务器物品最便宜,明日之后商店每天哪些东西值得买?
  10. 你真的会用Fragment吗?Fragment复用的那些事儿