2018.09.25 poj3070 Fibonacci(矩阵快速幂)
传送门
矩阵快速幂板题,写一道来练练手。
这一次在poj做题总算没忘了改万能库。
代码:
#include<iostream>
#include<cstdio>
#define mod 10000
#define A a[0][0]
#define B a[0][1]
#define C a[1][0]
#define D a[1][1]
using namespace std;
int n;
struct Matrix{int a[2][2];Matrix(){A=0,B=C=D=1;}};
inline Matrix operator*(Matrix a,Matrix b){
Matrix ret;
ret.A=(a.A*b.A+a.B*b.C)%mod;
ret.B=(a.A*b.B+a.B*b.D)%mod;
ret.C=(a.C*b.A+a.D*b.C)%mod;
ret.D=(a.C*b.B+a.D*b.D)%mod;
return ret;
}
inline int ksm(){
if(n==0)return 0;
if(n==1)return 1;
n-=2;
Matrix x,ret;
while(n){
if(n&1)ret=ret*x;
x=x*x,n>>=1;
}
return ret.D;
}
int main(){
while(scanf("%d",&n)&&~n)printf("%d\n",ksm());
return 0;
}
2018.09.25 poj3070 Fibonacci(矩阵快速幂)的更多相关文章
- poj3070 Fibonacci 矩阵快速幂
学了线代之后 终于明白了矩阵的乘法.. 于是 第一道矩阵快速幂.. 实在是太水了... 这差不多是个模板了 #include <cstdlib> #include <cstring& ...
- POJ3070:Fibonacci(矩阵快速幂模板题)
http://poj.org/problem?id=3070 #include <iostream> #include <string.h> #include <stdl ...
- UVA - 10229 Modular Fibonacci 矩阵快速幂
Modular Fibonacci The Fibonacci numbers (0, 1, 1, 2, 3, 5, 8, 13, 21, 3 ...
- poj 3070 Fibonacci (矩阵快速幂乘/模板)
题意:给你一个n,输出Fibonacci (n)%10000的结果 思路:裸矩阵快速幂乘,直接套模板 代码: #include <cstdio> #include <cstring& ...
- poj 3070 Fibonacci 矩阵快速幂
Description In the Fibonacci integer sequence, F0 = 0, F1 = 1, and Fn = Fn − 1 + Fn − 2 for n ≥ 2. F ...
- HDU 1588 Gauss Fibonacci(矩阵快速幂)
Gauss Fibonacci Time Limit: 3000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) ...
- POJ 3070 Fibonacci 矩阵快速幂模板
Fibonacci Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 18607 Accepted: 12920 Descr ...
- $loj$10222 佳佳的$Fibonacci$ 矩阵快速幂
正解:矩阵快速幂 解题报告: 我永远喜欢loj! 一看到这个就应该能想到矩阵快速幂? 然后就考虑转移式,发现好像直接想不好想,,,主要的问题在于这个*$i$,就很不好搞$QAQ$ 其实不难想到,$\s ...
- POJ 3070 Fibonacci矩阵快速幂 --斐波那契
题意: 求出斐波那契数列的第n项的后四位数字 思路:f[n]=f[n-1]+f[n-2]递推可得二阶行列式,求第n项则是这个矩阵的n次幂,所以有矩阵快速幂模板,二阶行列式相乘, sum[ i ] [ ...
随机推荐
- leetcode108
/** * Definition for a binary tree node. * public class TreeNode { * public int val; * public TreeNo ...
- as3 typeof 对象类型与返回结果对照表 is as
is 和as 运算符使用很广泛.is 用来判断一个对象是否属于一种类型,返回布尔值,true 代表属于,false 表示不属于.使用格式如下:trace (9 is Number); //输出:tru ...
- ABAP-消息发布
FUNCTION ZSDI0009_DO_INFOMESSAGE. *"----------------------------------------------------------- ...
- UI5-文档-4.8-Translatable Texts
在这一步中,我们将UI的文本移动到一个单独的资源文件中. 这样,他们都在一个中心位置,可以很容易地翻译成其他语言.这个国际化过程(简称i18n)是在SAPUI5中通过使用一种特殊的资源模型和标准的数据 ...
- python: no module named bz2
https://stackoverflow.com/questions/8115280/importerror-no-module-named-bz2-for-python-2-7-2 centos6 ...
- Jstl标签<c:forEach>的用法
<c:forEach>除了支持数组之外,还有标准J2SE的集合类型,例如:ArrayList.List.LinkedList.Vector.Stack和Set 等等:另外还包括java.u ...
- 【344】Jupyter relevant problems
参考:Jupyter Notebook Tutorial: The Definitive Guide 参考:ipython notebook 如何修改一开始打开的文件夹路径? Ref: Install ...
- js实现jquery函数animate动画效果
<script> function animate(obj, json, interval, sp, fn) { clearInterval(obj.timer); function ge ...
- 关于struts2输出excel表
web.xml: <web-app id="WebApp_9" version="2.4" xmlns="http://java.sun.com ...
- zset
zset sorted set,有序集合 元素为string类型 元素具有唯一性,不重复 每个元素都会关联一个double类型的score,表示权重,通过权重将元素从小到大排序 说明:没有修改操作 增 ...