描述

你被要求设计一个计算器完成以下三项任务:
1、给定y,z,p,计算Y^Z Mod P 的值;
2、给定y,z,p,计算满足xy≡ Z ( mod P )的最小非负整数;
3、给定y,z,p,计算满足Y^x ≡ Z ( mod P)的最小非负整数。


分析

  • 第一问快速幂
  • 第二问线性模方程. x = z * inv(y) (mod p), 求逆元可以用费马小定理.

    yp−1≡1(modp)

    y^{p-1} ≡ 1 (mod p)

    y∗yp−2=yp−1≡1(modp)

    y * y^{p-2} = y^{p-1} ≡ 1 (mod p)
    如果y和p不互质无解.

  • 重点是第三问吧, BSGS. 离散对数算法.
    还是直接见大白吧…自己推的推错(挫)了


代码

https://code.csdn.net/snippets/623705

BZOJ-2242-计算器-SDOI2011-BSGS相关推荐

  1. BZOJ 2242: [SDOI2011]计算器 [快速幂 BSGS]

    2242: [SDOI2011]计算器 题意:求\(a^b \mod p,\ ax \equiv b \mod p,\ a^x \equiv b \mod p\),p是质数 这种裸题我竟然WA了好多次 ...

  2. BZOJ 2242([SDOI2011]计算器-Baby Step Giant Step第1题)

    2242: [SDOI2011]计算器 Time Limit: 10 Sec  Memory Limit: 512 MB Submit: 744  Solved: 289 [Submit][Statu ...

  3. 【bzoj2242】[SDOI2011]计算器 EXgcd+BSGS

    题目描述 你被要求设计一个计算器完成以下三项任务: 1.给定y,z,p,计算Y^Z Mod P 的值: 2.给定y,z,p,计算满足xy≡ Z ( mod P )的最小非负整数: 3.给定y,z,p, ...

  4. P2485-[SDOI2011]计算器【BSGS,exgcd,快速幂】

    正题 题目链接:https://www.luogu.com.cn/problem/P2485 题目大意 给出a,b,pa,b,pa,b,p要求一下一种 ab%pa^b\% pab%p的值 ax≡b(m ...

  5. 一句话题解(20170801~20170125)

    8.1 bzoj 4720 noip2016 换教室 floyd预处理+期望(薛定谔的猫) bzoj 4318 OSU! 三次函数期望值 从一次.二次推得 8.2 bzoj 1076 状压+期望DP ...

  6. BZOJ刷题记录---提高组难度

    BZOJ刷题记录---提高组难度 总目录详见https://blog.csdn.net/mrcrack/article/details/90228694 序号 题号 算法 思想难度 实现难度 总难度 ...

  7. 拓展欧几里得+例题~

    扩展欧几里德算法: 应用: ①求解不定方程 ②求解同余方程 ③求解模的逆元 看欧拉定理看吐了也还是有超级~~多的题目不会做,看的有晕又困!难受,看会别的压压惊~~希望拓展欧几里德的题目能对我稍稍稍稍稍 ...

  8. 信息学奥赛数学一本通 数论相关题目

    ​[数论]教堂 [数论]教堂_LZK1997的博客-CSDN博客 [数论]教堂_AKone123456的博客-CSDN博客 [数论]密码 [数论]密码_)NCuyALnA$Ke的博客-CSDN博客 [ ...

  9. webpack打包css image,webpack 打包CSS 引入图片

    加载css 安装style-loader, css-loader npm install style-loader css-loader --save-dev 配置webpack.config.js文 ...

  10. linux脚本ipddr.sh 是什么,MTK DDR调试

    1. 获取 flash id: 硬件信息:通过这个节点可以知道当前flash的id,上层根据id找到对应的flash名字. cat /sys/block/mmcblk0/device/cid \ker ...

最新文章

  1. IDEA坑爹跟新的小BUG解决之道
  2. Browser Security-同源策略、伪URL的域
  3. .Net 4.0 (2)
  4. 【我的区块链之路】- Hyperledger fabric的简单入门(四)链码的编写及调试
  5. cocos2d-x plist使用
  6. linux系统服务命令systemctl使用说明
  7. C语言使用1到9求出所有k个数字的所有组合的算法(附完整源码)
  8. helm3安装mysql_Helm3(kubernetes包管理工具)安装使用踩坑指南
  9. mysql严格模式 报错_mysql严格模式
  10. java抽取注释_JAVA 注解教程(五)注解的提取
  11. Eclipse:引用一个项目作为库(图文教程)
  12. 大一计算机论文_计算机二级基础,60集全套视频教程+500习题,送给你参考下
  13. 项目之爬虫入门(豆瓣TOP250)
  14. HDU4706 Children's Day
  15. 阿里矢量图标引入方法
  16. Xcode打包ipa的步骤
  17. 联想计算机连接不上蓝牙耳机,thinkpad如何连接蓝牙耳机_thinkpad连接蓝牙耳机的步骤...
  18. 51单片机之共阳数码管
  19. 分布式电商项目五:使用人人开源搭建前后分离的后台管理系统
  20. [matlab]利用cftool进行曲线拟合

热门文章

  1. Report20200828螺旋波等离子体推力器HPT模拟放电调试小结
  2. USTC English Club Note20171011
  3. 当机械课程设计遇上程序猿2017-12-19
  4. linux退出 putty_使用putty远程连接linux防止关闭putty程序就停止
  5. 什么是功能性需求和非功能性需求
  6. linux下gdb调试方法和技巧详解
  7. python列表中 [ :: ]的用法
  8. 【CyberSecurityLearning 附】渗透测试技术选择题 + 法律法规
  9. Thymeleaf一些标签的传字符串/message/消息
  10. 任务切换——《x86汇编语言:从实模式到保护模式》读书笔记38