博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
poj 3233 Matrix Power Series 矩阵 快速幂 两次二分
阅读量:6668 次
发布时间:2019-06-25

本文共 873 字,大约阅读时间需要 2 分钟。

题目地址: 

思想: 1模仿快速模幂法 ; 给矩阵写一个快幂

             2 但是k太大 直接求和还是会tle  这个很像等比数列求和  但是可以递归用二分求,理论基础如下 :

                求和二分:A+A^2+A...+A^(2k+1)=   A+A^2+...+A^k+A^(k+1)+A^(k+1)*(A+A^2+...+A^k).

            3  矩阵用结构体存储很好用呀  

               之前 用int **存好像容易超内存 或者时间效率不高 

            4递归函数设计时,把调用递归的放在前面,这样实现自动回溯,而且不会爆栈

            5 用g++提交会runtime error  c++ ac  ,坑爹  搞了一晚上 

#include
#include
#define maxn 101using namespace std;int n;int M;typedefstruct{ int m[maxn][maxn];}matrix;matrix per;matrix a;void init(){ for(int i=0;i
>a.m[i][j]; a.m[i][j]%=M; per.m[i][j]=(i==j); }}matrix multi(matrix a,matrix b){ matrix ans; for(int i=0;i
>=1; aa=multi(aa,aa); } return ans;}matrix add(matrix a,matrix b){ matrix ans; for(int i=0;i
>n>>k>>M; init(); matrix ans; ans=sum(k); for(int i=0;i

转载于:https://www.cnblogs.com/814jingqi/p/3217951.html

你可能感兴趣的文章
每日英语:A Buying Guide to Air-Pollution Masks
查看>>
每日英语:As World's Kids Get Fatter, Doctors Turn To The Knife
查看>>
梅西百货公司[编辑]
查看>>
最长递增子序列问题 nyoj 17单调递增最长子序列 nyoj 79拦截导弹
查看>>
有感于去哪儿的一道笔试题
查看>>
tabhost中setup()和setup(LocalActivityManager activityGroup)
查看>>
svn 文件状态标记含义
查看>>
俞军的PM12条
查看>>
Hbase对hive的支持没有hdfs的好的原因 及hbase什么时候使用 及rowkey设计技巧
查看>>
MySQL slave状态之Seconds_Behind_Master【转】
查看>>
打造简易可扩展的jQuery/CSS3 Tab菜单
查看>>
张小龙浅谈微信公众平台的意义
查看>>
SQL中存储过程中使用事务,并且加入异常处理机制.
查看>>
php中上传图片
查看>>
MySQL必知必会笔记<1>
查看>>
C++垃圾回收器的实现
查看>>
第24周三
查看>>
Crystal Reports 2008(水晶报表) 启动时检查更新
查看>>
百度管家可能会占用1433端口
查看>>
C primer plus 练习题 第二章
查看>>