na 残
题目描述:
对于斐波那锲数列f(0)=0,f(1)=1,....求f(f(n)的值
0<=n<=10^100
给出T组数据,每行一个n
输出n行 f(f(n))
样例输入:
4
0
1
2
6
输出:
0
1
1
21
思路:
原来菲波那切数列是个纯周期数列,对于每一个模数MOD,它会有一个最小正周期,那么我们可以把这个很大的数n 或者 f(n) 映射到 一个的小区间,然后矩阵快速幂就OK了
关于哪个最小正周期的值,暴力去求就行了。
#include<iostream>
#include<cstdio>
#include<queue>
#include<cstring>
#include<algorithm>
#include<cmath>
using namespace std;
typedef long long LL;
#define mo2 329616
LL n,T;
LL mod;
LL M=;
LL mo1=M*+;
struct node{
LL v[][];
}ans,f;
void Ccin()
{
n=;
LL q=getchar();
while(q<||q>)q=getchar();
while(q>=&q<=)
{
n=(n*+q-)%mo2;
q=getchar();
}
}
node ch(node a,node b)
{
node ans1;
for(int i=;i<=;i++)
for(int j=;j<=;j++)
{
ans1.v[i][j]=;
for(int k=;k<=;k++)
ans1.v[i][j]=(ans1.v[i][j]+(a.v[i][k]*b.v[k][j])%mod)%mod;
}
return ans1;
}
void fastlow()
{
while(n)
{
if(n&) ans=ch(ans,f);
f=ch(f,f);n/=;
}
}
int main()
{
freopen("na.in","r",stdin);
freopen("na.out","w",stdout);
scanf("%lld",&T);
while(T--)
{
Ccin();
ans.v[][]=;ans.v[][]=ans.v[][]=ans.v[][]=;
f.v[][]=f.v[][]=f.v[][]=;f.v[][]=;
n;
mod=mo1;
fastlow();
n=ans.v[][];
mod=M;
ans.v[][]=;ans.v[][]=ans.v[][]=ans.v[][]=;
f.v[][]=f.v[][]=f.v[][]=;f.v[][]=;
fastlow(); cout<<ans.v[][]<<endl;
}
return ;
}
na 残的更多相关文章
- Sa yo na ra
总想记点些什么. 都快忘了当初是为什么来到这里呢... 2014年10月,友人给我介绍了一门编程竞赛ACM,并给我演示了一下A+B.于是我知道了ACM的含义. 2014年12月,开始水入门题. 201 ...
- 清北国庆day1 (脑)残
(留坑) /* 不知道为什要找的循环节TM这么长 */ #include<cstdio> #include<cstdlib> #include<cstring> u ...
- R语言 奇怪的NA
> 1+NA [1] NA > NA==1 [1] NA > c(NA,1:50) [1] NA 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 ...
- Win7去除桌面残影的方法
用户升级到Win7系统后使用正常,就是系统桌面会留有残影,怎么样也去不掉,影响用户的使用,那么要如何将这些残影去掉呢?可从计算机属性中进行相关配置. 解决方法 一.在计算机面板上,右键点击“计算机”, ...
- Unity3d 残影效果(狂拽炫酷叼炸天)
效果图,真的很叼啊 我根据别人的改进了一版,支持MeshFilter上的Mesh(需要确保Mesh的Read/Write是开启的否则不能正常工作) 非常感谢原作者给提供思路.http://blog.c ...
- HDU4888 Redraw Beautiful Drawings(最大流唯一性判定:残量网络删边判环)
题目 Source http://acm.hdu.edu.cn/showproblem.php?pid=4888 Description Alice and Bob are playing toget ...
- as3如何做出残影效果
在页游中,时不时能看到人物做一些快速移动动作如冲刺时,有残影效果,强化了画面表现.实际人肉眼之所以能看到残影的效果,是因为观察到的物体会在人视线中残留几十毫秒时间,当运动物体运动太快时,人肉眼所见未能 ...
- R中,去掉dataframe中的NA行
R中使用complete.cases 和 na.omit来去掉包含NA的行 现在有个一data.frame datafile如下所示 Date sulfate nitrate ID 1 ...
- Unity3D手游开发日记(8) - 运动残影效果
2D游戏的残影很简单,美术做序列帧图片就行了,那么3D游戏的残影美术做不了,得靠程序员动态创建模型来处理. 实现原理也很简单: 1.间隔一定时间创建一个残影模型 GameObject go = Gam ...
随机推荐
- NMS 原理 了解
NMS 原理:对于Bounding Box的列表B及其对应的置信度S,采用下面的计算方式.选择具有最大score的检测框M,将其从B集合中移除并加入到最终的检测结果D中.通常将B中剩余检测框中与M的I ...
- Windows Vista for Developers——第四部分:用户帐号控制(User Account Control,UAC)
作者:Kenny Kerr 翻译:Dflying Chen 原文:http://weblogs.asp.net/kennykerr/archive/2006/09/29/Windows-Vista-f ...
- 利用vs自带工具分析程序性能
测试程序写好后可以通过VS2010分析菜单里选择启用性能向导 选择CPU采样后就选择需要分析的项目 测试项目选择完成后就可以运行分析,结束分析后VS2010会提供个详细报告文档 从分析结果来看GetC ...
- OpenWrt路由器通过iPhone有线共享网络上网
2018年4月更新: 我自己的手机在openwrt上网速很慢,在电脑上又很快.应该不是被限速了,但是没找到原因. 三大运营商在学校争客户,手机卡开出了校内无限流量的条件.很开心,之前准备到东北大学的时 ...
- Httpclient: 多层翻页网络爬虫实战(以搜房网为例)
参考:http://blog.csdn.net/qy20115549/article/details/52912532 一.创建数据表 #创建表:用来存储url地址信息 create table so ...
- TypeScript完全解读(26课时)_17.装饰器
实验性的特性,需要在tslint里面把这项设置为true 作用域类的声明方法.访问符.属性和参数上 使用@符号加一个名字来定义,名字必须是一个函数,或者求值后是一个函数 装饰器工厂,setPro当做一 ...
- 洛谷 - P2424 - 约数和 - 整除分块
https://www.luogu.org/problemnew/show/P2424 记 \(\sigma(n)\) 为n的所有约数之和,例如 \(\sigma(6)=1+2+3+6=12\) . ...
- TP5之上传多张图片
1.效果图(每点击一次‘添加选项’,就会有一个新的 file 框来添加新的图片) 2.view <!--不要忘了引入jquery文件--> <!-- post传值方式和文件传输协议一 ...
- Math对象产生随机数一个小应用
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title> ...
- C# sbyte[]转byte[]
http://stackoverflow.com/questions/2995639/sbyte-vs-byte-using-methodssbyte[] orig = ... byte[] arr ...