hdu1005 矩阵
V$PR)7%O.jpg)
V$PR)7%O.jpg)

//Accepted hdu1005 0MS 248K
#include <cstdio>
#include <cstring>
#include <iostream>
#include <queue>
#include <cmath>
#include <algorithm>
using namespace std;
/**
* This is a documentation comment block
* 如果有一天你坚持不下去了,就想想你为什么走到这儿!
* @authr songt
*/
;
struct matrix
{
int n,m;
int a[imax_n][imax_n];
matrix mult(matrix x,int p)
{
matrix temp;
if (m==x.n)
{
;i<=n;i++)
{
;j<=x.m;j++)
{
temp.a[i][j]=;
;k<=m;k++)
temp.a[i][j]=(temp.a[i][j]+a[i][k]%p*(x.a[k][j]%p)%p)%p;
}
}
temp.n=n;
temp.m=x.m;
}
return temp;
}
/*
matrix exp(int n,int p)
{
if (n!=m) return (*this);
matrix temp=(*this);
matrix res;
res.n=res.m=n;
for (int i=1;i<=n;i++)
for (int j=1;j<=n;j++)
res.a[i][j]=1;
while (n)
{
if (n&1) res=res.mult(temp,p);
temp=temp.mult(temp,p);
n>>=1;
}
return res;
}*/
matrix exp(int n,int p)
{
matrix temp;
) return (*this);
temp=exp(n/,p);
temp=temp.mult(temp,p);
==) temp=temp.mult((*this),p);
return temp;
}
};
int a,b,n;
void slove()
{
|| n==)
{
printf("1\n");
return ;
}
matrix temp;
temp.n=;
temp.m=;
temp.a[][]=a;
temp.a[][]=;
temp.a[][]=b;
temp.a[][]=;
temp=temp.exp(n-,);
matrix ans;
ans.n=;
ans.m=;
ans.a[][]=ans.a[][]=;
ans=ans.mult(temp,);
][];
printf("%d\n",res);
}
int main()
{
&& b== && n==))
{
slove();
}
;
}
hdu1005 矩阵的更多相关文章
- hdu1005 矩阵快速幂
#include<iostream> #include<cstdio> #include<cstring> #include<set> #include ...
- 矩阵快速幂(入门) 学习笔记hdu1005, hdu1575, hdu1757
矩阵快速幂是基于普通的快速幂的一种扩展,如果不知道的快速幂的请参见http://www.cnblogs.com/Howe-Young/p/4097277.html.二进制这个东西太神奇了,好多优秀的算 ...
- HDU1005 找规律 or 循环点 or 矩阵快速幂
http://acm.hdu.edu.cn/showproblem.php?pid=1005 1.一开始就注意到了n的数据范围 <=100 000 000,但是还是用普通的循环做的,自然TLE了 ...
- HDU1005(矩阵快速幂)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1005 #include<cstdio> using namespace std; int ...
- C语言 · 矩阵乘法 · 算法训练
问题描述 输入两个矩阵,分别是m*s,s*n大小.输出两个矩阵相乘的结果. 输入格式 第一行,空格隔开的三个正整数m,s,n(均不超过200). 接下来m行,每行s个空格隔开的整数,表示矩阵A(i,j ...
- 获取Canvas当前坐标系矩阵
前言 在我的另一篇博文 Canvas坐标系转换 中,我们知道了所有的平移缩放旋转操作都会影响到画布坐标系.那在我们对画布进行了一系列操作之后,怎么再知道当前矩阵数据状态呢. 具体代码 首先请看下面的一 ...
- CSharpGL(32)矩阵与四元数与角度旋转轴的相互转换
CSharpGL(32)矩阵与四元数与角度旋转轴的相互转换 三维世界里的旋转(rotate),可以用一个3x3的矩阵描述:可以用(旋转角度float+旋转轴vec3)描述.数学家欧拉证明了这两种形式可 ...
- “为什么DirectX里表示三维坐标要建一个4*4的矩阵?”
0x00 前言 首先要说明的是,本文的标题事实上来自于知乎上的一个同名问题:为什么directX里表示三维坐标要建一个4*4的矩阵? - 编程 .因此,正如Milo Yip大神所说的这个标题事实上是存 ...
- js实现蛇形矩阵
参加腾讯前端实习生笔试,真的是被虐了千百遍,除了一条js程序题,其他半点前端都没有,都是考算法,计算机原理,数据结构.下面贴上腾讯笔试最后三大条中的一条,实现一个蛇形矩阵的输出.蛇形矩阵的什么样这里我 ...
随机推荐
- refreshLayout 和 滑动控件的冲突解决
listView.setOnScrollListener(new OnScrollListener() { @Override public void onScrollSt ...
- Compound Interest Calculator3.0续
1.你写的程序能让客户随意操作吗?误输入数据.不小心做了非常规的操作程序是什么反应? 2.如果向银行贷款10万元,年利率6.5%,期限为10年,那么每月等额本息还款多少?(算复利条件下等额还款金额) ...
- Qt之绘制闪烁文本
简述 根据之前的二位绘图,我们可以很轻松的进行文本的绘制,如果需要一些特效,比如:文本闪烁.我们就必须借助其它辅助类来完成. 简述 原理 实现 效果 源码 原理 主要涉及两个辅助类: QFontMet ...
- SAP连接HANA数据库
既然都用HANA了,为什么还要在SAP端,连接HANA数据库,做数据库处理..... 因为HANA数据库,没个用户在STADIO上建的数据库表...只能这个用户使用,而做Universe 设计的时候, ...
- fill_parent和wrap_content的区别
在Android布局文件中定义视图垂直或水平大小: android:layout_width和android_layout_height的属性有fill_parent.wrap_content和mat ...
- 手动实现ArrayList
public interface List { public void insert(int i,Object obj)throws Exception; public void delete(int ...
- placeholder在ie789下无效
<input type="text" class="input" placeholder="用户名/手机号码/邮箱" value=&q ...
- FZU 2092 收集水晶 bfs+记忆化搜索 or 暴力
题目链接:收集水晶 一眼看过去,觉得是普通的bfs,初始位置有两个.仔细想了想...好像如果这样的话..........[不知道怎么说...T_T] dp[12][12][12][12][210] 中 ...
- R中rJava包载入时报错的问题
今天安装XLConnect包,安装后无法library(XLConnect)载入,看报错问题应该出在rJava上,找到了下面的解决办法: if (Sys.getenv("JAVA_HOME& ...
- 统计类别数量并且使用pyplot画出柱状图
从数据库中读取数据,具体操作为: # -*- coding: utf-8 -*- from numpy import * import numpy as np import pandas as pd ...