BZOJ-3122-随机数生成器-SDOI2013-BSGS
2015-03-20 23:25
239 查看
描述
分析
关键就是对式子的变形, 将原递推公式转化为通项公式, 中间会用到等比数列求和公式. 然后切记此时方程两边同乘(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
- [bzoj 3122] [Sdoi2013]随机数生成器:数论,同余,分类讨论,BSGS
- BZOJ-3122-随机数生成器-SDOI2013-BSGS
- BZOJ3122 [Sdoi2013]随机数生成器 【BSGS】
- Bzoj 3122 [Sdoi2013]随机数生成器(BSGS+exgcd)
- 【BZOJ 3122】 [Sdoi2013]随机数生成器 (BSGS)
- BZOJ 3122: [Sdoi2013]随机数生成器 ex_gcd+BSGS
- 【bzoj3122】[Sdoi2013]随机数生成器 BSGS思想的利用
- bzoj 3122 [Sdoi2013]随机数生成器(逆元,BSGS)
- BZOJ 3122 [Sdoi2013]随机数生成器 BSGS
- [BZOJ3122]-[Sdoi2013]随机数生成器-BSGS+exgcd
- 【bzoj3122】[Sdoi2013]随机数生成器 BSGS
- bzoj 3122: [Sdoi2013]随机数生成器【BSGS】
- [bzoj3122][SDOI2013]随机数生成器 ——BSGS,数列
- [BZOJ3122][Sdoi2013]随机数生成器(BSGS)
- 【bzoj3122】 Sdoi2013—随机数生成器
- BZOJ 3122 SDOI2013 随机数生成器
- [BZOJ3122][SDOI2013]随机数生成器
- bzoj3122【SDOI2013】随机数生成器
- 【bzoj3122】【SDOI2013】 随机数生成器