POJ 3734 wata 的快速幂 模板。
来源:互联网 发布:淘宝小蜜投诉有用吗 编辑:程序博客网 时间:2024/05/01 03:47
对于递推。我们可以用矩阵来解决问题,尤其是对于求 第100000000项式多少这种问题时,其实看到数字就应该想到要矩阵了。。
首先是构造矩阵,构造矩阵的方法。。。各种途径都有。。没图不好说。。
反正呢。。
首先是一个目标列向量,然后还有一个原来的列向量。
然后根据递推方程 构造一个 n x n 矩阵
矩阵的数字要看递推方程如果根据上一项得到下一项。
#include <stdio.h>#include <iostream>#include <queue>#include <algorithm>#include <map>#include <vector>#include <cmath>#include <string.h>#include <stdlib.h>#include <time.h>#include <fstream>#include <set>#include <stack>using namespace std;#define READ freopen("acm.in","r",stdin)#define WRITE freopen("acm.out","w",stdout)#define ll long long#define ull unsigned long long #define PII pair<int,int>#define PDI pair<double,int>#define PDD pair<double,double>#define MII map<int,int>::iterator #define fst first#define sec second#define MS(x,d) memset(x,d,sizeof(x))#define INF 0x3f3f3f3f#define ALL(x) x.begin(),x.end()#define lson l,m,rt<<1#define rson m+1,r,rt<<1|1#define ROOT 0,n-1,1#define PB push_back#define FOR(a,b,c) for(int a=b;a<c;a++)#define MOD 10007#define keyTree (ch[ ch[root][1] ][0])#define MAX 200#define SIG 128typedef vector<int> vec;typedef vector<vec> mat;mat mul(mat &A,mat &B){mat C(A.size(),vec(B[0].size()));for(int i=0;i<A.size();i++){for(int k=0;k<B.size();k++){for(int j=0;j<B[0].size();j++)C[i][j]=(C[i][j]+A[i][k]*B[k][j])%MOD;}}return C;}mat pow(mat A,int n){mat B(A.size(),vec(A.size()));for(int i=0;i<A.size();i++)B[i][i]=1;while(n){if(n&1)B=mul(B,A);A=mul(A,A);n>>=1;}return B;}int solve(int n){mat A(3,vec(3));// 几行 几列A[0][0]=2,A[0][1]=1,A[0][2]=0;A[1][0]=2,A[1][1]=2,A[1][2]=2;A[2][0]=0,A[2][1]=1,A[2][2]=2;A=pow(A,n);return A[0][0];}int main(){int cas;scanf("%d",&cas);//B[0][0]=1,B[0][1]=0,B[0][2]=0;while(cas--){int n;cin>>n;cout<<solve(n)<<endl;}return 0;}
0 0
- POJ 3734 wata 的快速幂 模板。
- poj 3734 矩阵快速幂模板清晰版
- wata 哥 的 vector<MAX> G 第一次不能用 POJ 3321 树状数组
- poj-3982(矩阵快速幂+大数模板)
- 矩阵的快速幂模板
- POJ 3734 (快速幂)
- POJ 1845-Sumdiv 数论 +快速幂&&筛素&&分解质因数&&求因数之和的模板
- POJ 1995 Raising Modulo Numbers (快速幂模板)
- POJ 3070 Fibonacci(矩阵快速幂模板)
- poj 3070 Fibonacci 矩阵快速幂 模板题
- poj 3641 Pseudoprime numbers 快速幂+素数判定 模板题
- poj 1995 Raising Modulo Numbers(快速幂模板)
- poj 3070 <矩阵快速幂【模板】求Fibonacci数列>
- poj 3070 Fibonacci(矩阵快速幂模板题)
- POJ 3613 Cow Relays(矩阵模板+快速幂+floyd)
- 矩阵快速幂 poj 3734
- 矩阵快速幂的写法(模板)
- 快速幂的模板 (数论)
- ssh, telnet在发起什么连接请求?
- 汇编指令
- 处理 ORA-01078: failure in processing system parameters
- java中的类详细!
- Assembly介绍及使用
- POJ 3734 wata 的快速幂 模板。
- 应用的属性列表info.plist
- 201111621218廖家琦第二周课外作业
- 对数据库DML操作进行封装成简单的工具
- Hibernate中的复合主键映射
- 栈-----括号匹配+表达式计算
- Siege: 发送带Cookie的请求
- OpenCV鼠标控制窗口大小(使用1.0vison)
- 关于YII save() 返回false