hdu1005,循环节

一看感觉用矩阵快速幂的题。。。奈何没有优化n=1e9是不可能过的。

循环节,周期:

因为mod7,所以f[n]的可能性只有7种,f[n]*f[n-1]有49种(因为AB是固定的)。。。所以,49个f[n]求出来后必有重复者出现,即f[n]与f[n-1]与之前的某个f[i[与f[i-1]能相等。。。然后由于f[n+1]与f[n]和f[n-1]有关,所以一定会出现周期。。。注意点是周期未必是49,起始点未必是1 1.。。所以需要求这两个。

一个特别优秀的算法。。。

用k[f[]f[]]这个方式特别简洁。。。也意味着平时可以思考用数组嵌套数组

另外,我自己的是算出新的f[n]去与之前的所有数比较是否相同。。。耗时

这个代码是标记之前出现的所有值,然后如果k[f[]]这个值出现过,则已被标记,代表找到开始的标志数;优秀优秀。。。

而且由于数组可以大,所以不会轻易开不下(存储值);

 

转载于:https://www.cnblogs.com/larvie/p/9704009.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值