`
jinvasshole
  • 浏览: 767071 次
文章分类
社区版块
存档分类
最新评论

hdu 3524 Perfect Squares【打表、除法取余、快速幂】

 
阅读更多
先打表,找规律


f(i)=4*f(i-2)-5 通项 f(i)=(2^(n-1)+5)/3 i为奇数
f(i)=4*f(i-2)-4 f(i)=(2^(n-1)+4)/3 i为偶数
即 f(i)=(2^(n-1)+4+n%1)/3
若b%c=1,则a/b%c=a%c=d,证明如下:
b=c*k1+1 a=b*(c*k2+d)=(c*k1+1)*(c*k2+d)=c*(k1*k2+k1*d+k2)+d=c*k3+d
因此a%c=d=a/b%c
求解f(i)%mod,a/b%c=(a*k)/(b*k)%c=a*k%c,(b*k%c=1)
即求任一k使b*k%c=1, 即b*k=c*k'+1,设x=k,y=-k’,则x*b+y*c=1,extgcd或者打表求一个x即可


所以f(i)=(2^(n-1)+4+n%1)*3336%10007.






分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics