BZOJ-2242-计算器-SDOI2011-BSGS
生活随笔
收集整理的這篇文章主要介紹了
BZOJ-2242-计算器-SDOI2011-BSGS
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
描述
你被要求設計一個計算器完成以下三項任務:
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?yp?2=yp?1≡1(modp)
如果y和p不互質無解.重點是第三問吧, BSGS. 離散對數算法.
還是直接見大白吧…自己推的推錯(挫)了
代碼
https://code.csdn.net/snippets/623705
總結
以上是生活随笔為你收集整理的BZOJ-2242-计算器-SDOI2011-BSGS的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: BZOJ-1003-物流运输trans-
- 下一篇: BZOJ-3122-随机数生成器-SDO