uva 11551 - Experienced Endeavour(矩阵快速幂)
来源:互联网 发布:手机上怎么改淘宝评价 编辑:程序博客网 时间:2024/06/06 06:30
题目链接:uva 11551 - Experienced Endeavour
题目大意:给定一个序列的变换,求变换r次后各项的值。
解题思路:矩阵快速幂,不解释。
#include <cstdio>#include <cstring>#include <algorithm>using namespace std;const int maxn = 55;const int MOD = 1000;struct Mat { int r, c, arr[maxn][maxn]; Mat (int r = 0, int c = 0) { this->r = r; this->c = c; memset(arr, 0, sizeof(arr)); } Mat operator * (const Mat& u) { Mat ret(r, u.c); for (int k = 0; k < c; k++) { for (int i = 0; i < r; i++) for (int j = 0; j < u.c; j++) ret.arr[i][j] = (ret.arr[i][j] + arr[i][k] * u.arr[k][j]) % MOD; } return ret; }};Mat pow_mat (Mat ret, Mat x, int n) { while (n) { if (n&1) ret = x * ret; x = x * x; n >>= 1; } return ret;}int main () { int cas, N, K; scanf("%d", &cas); while (cas--) { scanf("%d%d", &N, &K); Mat a(N, 1); for (int i = 0; i < N; i++) { scanf("%d", &a.arr[i][0]); a.arr[i][0] %= MOD; } int x, pos; Mat b(N, N); for (int i = 0; i < N; i++) { scanf("%d", &x); for (int j = 0; j < x; j++) { scanf("%d", &pos); b.arr[i][pos] = 1; } } a = pow_mat(a, b, K); printf("%d", a.arr[0][0]); for (int i = 1; i < N; i++) printf(" %d", a.arr[i][0]); printf("\n"); } return 0;}
0 0
- UVA 11551 - Experienced Endeavour(矩阵快速幂)
- uva 11551 - Experienced Endeavour(矩阵快速幂)
- UVA 11551 Experienced Endeavour(矩阵快速幂)
- 【矩阵快速幂】Experienced Endeavour
- UVA 11551 - Experienced Endeavour
- UVA 11551 - Experienced Endeavour(构造矩阵-水题)
- Experienced Endeavour UVA
- UVA11551-Experienced Endeavour
- UVA 11551(矩阵快速幂)
- uva 10870(矩阵快速幂)
- uva 12470(矩阵快速幂)
- uva 10698 矩阵快速幂
- 【矩阵快速幂】Recurrences UVA
- UVA 10689 矩阵快速幂 + 快速幂取模
- uva 10655 Contemplation! Algebra 矩阵快速幂
- UVA 10870 Recurrences 矩阵快速幂
- UVa 10870 Recurrences / 矩阵快速幂
- UVA 10870 - Recurrences(矩阵快速幂)
- java中常见的输入输出流案例学习(一)
- 如何学习算法
- python super()
- 网页图片无缝循环滚动html代码
- 笔记71--OOM问题解决方案
- uva 11551 - Experienced Endeavour(矩阵快速幂)
- kmp算法
- 转换流
- .h头文件、 .lib库文件、 .dll动态链接库文件之间的关系
- Codeforces 38G Queue 伸展树
- 【java基础】[数组]
- Java进阶之欧拉工程 第十四篇【 最长的collatz序列】
- 数据结构:堆
- Adapter——notifyDataSetChanged