Matrix Power Series
来源:互联网 发布:中国图书版本数据 编辑:程序博客网 时间:2024/06/16 00:55
直接暴力不行
因为每项底数都是A 可以用结合律 可以找到递推式
如果k是奇数 那么dfs(k) = dfs(k-1)+A^k
否则 dfs(k) = dfs(k/2)+A^k*(dfs(k/2))//先把dfs(k/2)算出来再带进去
主要是
初始化一开始写成void函数的形式导致初始化失败
然后怎么改怎么wa
还有全局变量和局部变量冲突!!!!
花式过样例 可你就是wa 为啥?为啥?哈哈哈
#include<stdio.h>#include <math.h>#include <cstring>#include<algorithm>using namespace std;typedef long long LL;const int MAXN = 1e5;struct mat{ int rix[35][35];};int n,k,m;mat st;void init(mat t){ for (int i = 0;i < n; ++i) for (int j = 0;j < n; ++j) t.rix[i][j] = 0;}mat mul(mat a,mat b){ mat c; for (int i = 0;i < n; ++i) for (int j = 0;j < n; ++j) c.rix[i][j] = 0; for (int i = 0;i < n; ++i){ for (int j = 0;j < n; ++j){ for (int k = 0;k < n; ++k){ c.rix[i][j] += a.rix[i][k]*b.rix[k][j]; c.rix[i][j] %= m; } } } return c;}mat q_mod(mat a,int b){ mat tm; for (int i = 0;i < n; ++i) for (int j = 0;j < n; ++j) tm.rix[i][j] = (i==j); while (b){ if (b&1) tm = mul(tm,a); a = mul(a,a); b>>=1; } return tm;}mat Sum(mat a,mat b){ mat c; for (int i = 0;i < n; ++i) for (int j = 0;j < n; ++j) c.rix[i][j] = 0; for (int i = 0;i < n; ++i){ for (int j = 0;j < n; ++j){ c.rix[i][j] = a.rix[i][j] + b.rix[i][j]; c.rix[i][j] %= m; } } return c;}mat dfs(int cc){ if (cc==1) return st; if (cc&1) return Sum(dfs(cc-1),q_mod(st,cc)); else { mat ret = dfs(cc/2); return Sum(ret,mul(q_mod(st,cc/2),ret)); }}int main(){ scanf("%d%d%d",&n,&k,&m); for (int i = 0;i < n; ++i){ for (int j = 0;j < n; ++j) scanf("%d",&st.rix[i][j]); } mat ans = dfs(k); for (int i = 0;i < n; ++i){ for (int j = 0;j < n; ++j){ printf("%d%c",ans.rix[i][j],j==n-1?'\n':' '); } } return 0;}
阅读全文
0 0
- pku3233 Matrix Power Series
- Matrix Power Series
- poj3233 - Matrix Power Series
- POJ3233 Matrix Power Series
- poj3233 Matrix Power Series
- acm-Matrix Power Series
- Matrix Power Series
- POJ3233 Matrix Power Series
- Matrix Power Series
- poj3233 - Matrix Power Series
- poj3233 Matrix Power Series
- poj Matrix Power Series
- pku3233 Matrix Power Series
- Matrix Power Series
- NYOJ299 Matrix Power Series
- 【poj3233】 Matrix Power Series
- Matrix Power Series(?)
- POJ3233 Matrix Power Series
- vue、vueRoute钩子函数的理解
- 0、Notepad++如何自动完成html
- BS下实现打印gridview
- java学习笔记(5)-HashSet类
- QSS知识总结
- Matrix Power Series
- Mysql分区
- Web页面性能优化(YSlow)
- 第十二章 文件下载-跟赵大笨笨学SpringMVC
- 通过支付宝二维码链接直接调起支付宝支付
- 《学习opencv》第四章第五题
- Python2与Python3中__bool__方法的差异
- 系统管理主菜单运行界面02--java
- 类型“GridView”的控件必须放在具有 runat=server 的窗体标记内?