a+b*sqrt(c)取整取模

反正我就自己记一记,

首先构造An+sqrt(c)*Bn和An-sqrt(c)*Bn,

然后随便证明一下得到要求的向下取整的值为2*An-1,这里是针对这个题,不同情况可以参考这样随机应变一下,大概

An和Bn可以通过矩阵乘法递推得到

因为指数太大必须找循环节,这里模一个最大4W多的质数,据说这个数据范围可以直接暴力一个一个算判断指数到多少会变成单位矩阵,这个就是循环节了

再据说就是,根据群论的知识这里可以保证mod*(mod-1)*(mod^2-1)是一个循环节,数据范围也保证了这个是在LL范围内的,于是指数就可以直接模这个了,这样还要再注意一下LL*LL%LL的溢出

但是其实这里用(mod-1)*(mod+1)也是可以过的,这样还不用处理溢出,快多了

反正就是总结一下几个可以模的东西,记所模质数为P

  1. P-1
  2. (P-1)*(P+1)
  3. P*(P-1)*(P+1)
  4. P*(P-1)*(P+1)*(P-1)
有什么问题一个一个试就好了,最下面那个有办法处理的话当然直接用是最保险了。


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值