日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

BZOJ-3122-随机数生成器-SDOI2013-BSGS

發布時間:2025/3/15 23 豆豆
生活随笔 收集整理的這篇文章主要介紹了 BZOJ-3122-随机数生成器-SDOI2013-BSGS 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

描述


分析

  • 關鍵就是對式子的變形, 將原遞推公式轉化為通項公式, 中間會用到等比數列求和公式. 然后切記此時方程兩邊同乘(1-a), 然后就化簡開了.
  • 之后得到的式子是 a^(n-1) = ... (mod p) 然后就可以用BSGS求解了. 注意最后加1.
  • 公式明天補上
  • 幾種特判情況 :
    • 如果a = 0, 這時 X = b, 如果t = b輸出1, 否則輸出-1
    • 如果a = 1, 為什么這也要特判呢, 因為等比數列求和公式里的q一定不為1.
      此時Xi = Xi-1 + b是等差數列 Xn = X1 + (n-1) * b (mod p), i = (Xn - X1 + b) * b^(-1)
      這時還需要看如果b = 0, 輸出-1; 如果Xn-X1+b = 0, 求出 i = 0, 但是想想實際情況應該是第 p 天才看到那一頁
  • 現在寫代碼有點不走腦子, 調了半天發現我圖省事把變量全開long long結果就是有個地方開了int還沒轉換.
  • 感覺最近睡的有點少, 該充電了.

代碼

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

總結

以上是生活随笔為你收集整理的BZOJ-3122-随机数生成器-SDOI2013-BSGS的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。