北邮12月份月赛 D 矩阵二分幂
来源:互联网 发布:淘宝差评后果 编辑:程序博客网 时间:2024/04/27 19:31
是一道数学题吧,用矩阵二分幂可以轻松解决。以前在NYOJ上做过类似的题,所以比赛时直接贴的以前的代码,,水过。。。。。数据太水啊。。。。。题目:
D 零零漆的跳槽
Accept:42 Submit:117Time Limit:1000MS Memory Limit:65536KBDescription
世上没有铁饭碗, 也没有永远的老板, 跳槽风也刮到了组织, 尽管组织极力想挽留零零漆, 但他还是依然要跳到另一个有关部门. 凭他的经验以及高超的杀猪功力, 他顺利的通过了有关部门前面的测试, 来到了算法测试关. 给他的问题很简单----给两个整数n,m, 求斐波纳契数fib[n] % m...
算卖肉钱久了, 零零漆还真想不起怎么去计算斐波纳契数了, 但是他在考场竟然能通过安装在皮鞋里的电话和你通信, 他只能寄希望于你了...
当然你还是知道fib[n]的定义的:
/ fib[0]=0
| fib[1]=1
\ fib[n]=fib[n-1]+fib[n-2] (n>1)
Input
输入第一行是一个整数 c, 0 < c <= 5000, 表示要计算多少个fib[n]
接下来的c行, 每行有两个整数n,m, 0 <= n <= 2147483647, 0 < m < 32767, 意义如前所述
Output
对于每对n,m, 对应输出单独的一行, 包含一个整数 r = fib[n] % m
Sample Input
8
42 8468
6335 6501
19170 5725
11479 9359
26963 4465
5706 8146
23282 6828
9962 492
Sample Output
3712
3547
1210
5683
1502
5894
5113
1
#include <stdio.h>//int f(int x,int y,int a,int b)//{//return a*x+b*y;//}int main(){int n,m,i,j,k,t;scanf("%d",&t);while(t--){scanf("%d%d",&n,&m);int a[2][2]={1,0,1,0},b[2][2]={1,1,1,0},t[2][2]; while(n){if(n&1){t[0][0]=(a[0][0]*b[0][0]+a[0][1]*b[1][0])%m;t[0][1]=(a[0][0]*b[0][1]+a[0][1]*b[1][1])%m;t[1][0]=(a[1][0]*b[0][0]+a[1][1]*b[1][0])%m;t[1][1]=(a[1][0]*b[0][1]+a[1][1]*b[1][1])%m;a[0][0]=t[0][0];a[0][1]=t[0][1];a[1][0]=t[1][0];a[1][1]=t[1][1];}t[0][0]=(b[0][0]*b[0][0]+b[0][1]*b[1][0])%m;t[0][1]=(b[0][0]*b[0][1]+b[0][1]*b[1][1])%m;t[1][0]=(b[1][0]*b[0][0]+b[1][1]*b[1][0])%m;t[1][1]=(b[1][0]*b[0][1]+b[1][1]*b[1][1])%m;b[0][0]=t[0][0];b[0][1]=t[0][1];b[1][0]=t[1][0];b[1][1]=t[1][1];n=n>>1;}printf("%d\n",a[0][1]);}}
- 北邮12月份月赛 D 矩阵二分幂
- 北邮12月份月赛A题
- 北邮12月份月赛 E 动态规划
- 快速矩阵二分幂
- 矩阵二分快速幂
- 南阳理工学院12月份月赛(高年级组) 大水题
- 11月份月总
- [矩阵][高斯消元][二分图]Codeforces 736D.Permutations
- 矩阵PKU3233二分加矩阵快速幂
- Wannafly模拟赛 矩阵 [矩阵hash+二分]
- Queuing(hdu2604矩阵二分幂)
- hdu1575 二分+矩阵求幂
- 矩阵快速幂(二分)
- 线上编程挑战5月份月赛题目:打牌
- CSDN线上编程挑战5月份月赛题目:打牌
- 生成1-12个月的月份数据
- 二分矩阵
- [LOJ6257][CodePlus 2017 12 月赛]可做题2-矩阵快速幂-乘法逆元
- 网上订票还可以通过这个地址哦
- SQL or NoSQL——云计算环境中该选择谁?
- [解析]Hash碰撞的拒绝式服务攻击
- 获取内网IP方法,细节!
- JS操作select checkbox 及radio控件
- 北邮12月份月赛 D 矩阵二分幂
- PHP mail函数发送HTML邮件
- 自己的程序要及时备份
- JLINK+ADS+mini2440配置
- javascript中获取radio值得方法
- epoll为什么这么快(非常形象)
- IOS开发之——裁剪图片
- 2012年第一篇
- 移动硬盘制作启动盘_安装版