hdu 1757 矩阵快速幂 **
一看正确率这么高,以为是水题可以爽一发,结果是没怎么用过的矩阵快速幂,233
题解链接:点我
#include<iostream>
#include<cstring>
const int N=;
using namespace std;
int k,m;
struct Matrix{
int map[N][N];
}; Matrix matrix; void Initiate(){
for(int i=;i<N;i++){
scanf("%d",&matrix.map[][i]);
}
for(int i=;i<N;i++){
for(int j=;j<N;j++){
if(i==(j+))matrix.map[i][j]=;
else matrix.map[i][j]=;
}
}
} //矩阵相乘
Matrix Mul(Matrix &a,Matrix &b){
Matrix c;
for(int i=;i<N;i++){
for(int j=;j<N;j++){
c.map[i][j]=;
for(int k=;k<N;k++){
c.map[i][j]+=a.map[i][k]*b.map[k][j];
}
c.map[i][j]%=m;
}
}
return c;
} //快速幂
Matrix Pow(int n){
Matrix t;
if(n==)return matrix;
if(n&)return Mul(matrix,Pow(n-));
else {
Matrix temp=Pow(n>>);
return Mul(temp,temp);
}
} int main(){
while(scanf("%d%d",&k,&m)!=EOF){
Initiate();
if(k<){
printf("%d\n",k%m);
continue;
}
Matrix temp=Pow(k-);
int ans=;
for(int i=;i<N;i++){
ans+=temp.map[][i]*(N-i-); //最后要乘上f[9],f[8],...,f[1],f[0];
ans%=m;
}
printf("%d\n",ans);
}
return ;
}
hdu 1757 矩阵快速幂 **的更多相关文章
- hdu 1757 (矩阵快速幂) 一个简单的问题 一个简单的开始
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1757 题意不难理解,当x小于10的时候,数列f(x)=x,当x大于等于10的时候f(x) = a0 * ...
- HDU 1757 矩阵快速幂加速递推
题意: 已知: 当x<10时:f(x)=x 否则:f(x) = a0 * f(x-1) + a1 * f(x-2) + a2 * f(x-3) + --+ a9 * f(x-10); 求:f(x ...
- HDU 2855 (矩阵快速幂)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2855 题目大意:求$S(n)=\sum_{k=0}^{n}C_{n}^{k}Fibonacci(k)$ ...
- HDU 4471 矩阵快速幂 Homework
题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=4471 解题思路,矩阵快速幂····特殊点特殊处理····· 令h为计算某个数最多须知前h个数,于是写 ...
- HDU - 1575——矩阵快速幂问题
HDU - 1575 题目: A为一个方阵,则Tr A表示A的迹(就是主对角线上各项的和),现要求Tr(A^k)%9973. Input数据的第一行是一个T,表示有T组数据. 每组数据的第一行有n( ...
- 随手练——HDU 5015 矩阵快速幂
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5015 看到这个限时,我就知道这题不简单~~矩阵快速幂,找递推关系 我们假设第一列为: 23 a1 a2 ...
- HDU 3802 矩阵快速幂 化简递推式子 加一点点二次剩余知识
求$G(a,b,n,p) = (a^{\frac {p-1}{2}}+1)(b^{\frac{p-1}{2}}+1)[(\sqrt{a} + \sqrt{b})^{2F_n} + (\sqrt{a} ...
- How many ways?? HDU - 2157 矩阵快速幂
题目描述 春天到了, HDU校园里开满了花, 姹紫嫣红, 非常美丽. 葱头是个爱花的人, 看着校花校草竞相开放, 漫步校园, 心情也变得舒畅. 为了多看看这迷人的校园, 葱头决定, 每次上课都走不同的 ...
- HDU 5950 矩阵快速幂
Recursive sequence Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Other ...
随机推荐
- 七层负载均衡——HAProxy
HAProxy入门 HAProxy是一款提供高可用性.负载均衡以及基于TCP(第四层)和HTTP(第七层)应用的代理软件,HAProxy是完全免费的.借助HAProxy可以快速并且可靠的提供基于TCP ...
- Swift翻译之-关于Swift
IMPORTANT 重要的 This is a preliminary document for an API or technology in development. Apple is suppl ...
- wireshark怎么抓包、wireshark抓包详细图文教程
wireshark怎么抓包.wireshark抓包详细图文教程 作者:佚名 来源:本站整理 发布时间:2013-05-02 19:56:27 本日:53 本周:675 本月:926 总数:3749 ...
- C++中虚函数的作用浅析
虚函数联系到多态,多态联系到继承.所以本文中都是在继承层次上做文章.没了继承,什么都没得谈. 下面是对C++的虚函数这玩意儿的理解. 一, 什么是虚函数(如果不知道虚函数为何物,但有急切的想知道,那你 ...
- CrtCtl (客户端认证的证书、私钥)的控制
crt (证书文件) 编辑 本词条缺少名片图,补充相关内容使词条更完整,还能快速升级,赶紧来编辑吧! 客户端认证的证书.私钥. 中文名 crt 性 质 证书文件 类 型 客户端认证的证书. ...
- 构建seajs业务模块之grunt VS spm build
在最开始,我并不知道grunt可以构建CMD模块.(以下spm指代spm build) 当时正困惑于如何用spm方便的构建业务模块,后来看到@twinstony (感谢@twinstony的分享)使用 ...
- 初识suse-Linux相关!
Linux这种系统很奇怪,差不多每种不同的版本,它所使用的安装等一些重要命令皆有所变化.假若,你要熟练掌握一种OS,那么如果安装软件/应用,那是入门的第一步. 安装命令中: RedHat.CentOS ...
- POJ 1308&&HDU 1272 并查集判断图
HDU 1272 I - 小希的迷宫 Time Limit:1000MS Memory Limit:32768KB 64bit IO Format:%I64d & %I64 ...
- Linux: xclip,pbcopy,xsel用法 terminal 复制粘帖 (mac , ubuntu)
ubuntu下的用户可以只用apt-get来安装: sudo apt-get install xclip echo "Hello, world" | xclip mac下使用pbc ...
- Intersection of Two Arrays | & ||
Intersection of Two Arrays Given two arrays, write a function to compute their intersection. Example ...