zoukankan      html  css  js  c++  java
  • 矩阵算法模板

    #include <iostream>
    #include <algorithm>
    using namespace std;
    const int MAX = 32;
    
    int n, MOD;
    
    struct Matrix{
    	int v[MAX][MAX];
    }
    
    Matrix mtAdd(Matrix A, Matrix B){
    	Matrix C;
    	for(int i = 0; i < n; ++i)
    		for(int j = 0; j < n; ++j){
    			C.v[i][j] = A.v[i][j] + B.v[i][j];
    		}
    	return C;
    }
    
    Matrix mtMul(Matrix A, Matrix B){
    	Matrix C;
    	for(int i = 0; i < n; ++i)
     		for(int j = 0; j < n; ++j){
    		 	C.v[i][j] = 0;
    		 	for(int k = 0; k < n; ++k)
    		 	{
    	 			C.v[i][j] = (A.v[i][k] * B.v[k][j] + C.v[i][j]) % MOD;
    	 		}
    		 }
     	return C;
    }
    
    Matrix mtPow(Matrix A, int k){
    	if(k == 0){
    		memset(A.v, 0, sizeof(A.v))v;
    		for(int i = 0; i < n; ++i){
    			A.v[i][i] = 1;
    		}
    		return A;
    	}
    	if(k == 1) return A;
    	Matrix C = mtPow(A, k/2);
    	if(k & 1) return mtMul(mtMul(C, C), A);
    	else return mtMul(C, C);
    	return C;	
    }
    
    void mtPrint(Matrix A){
    	for(int i = 0; i < n; ++i){
    		for(int j = 0; j < n; ++j){
    			cout << A.v[i][j] <<' ';
    		}
    		cout << endl;
    	}
    }


  • 相关阅读:
    ARP 协议
    天梯赛L1 题解
    DNS域名系统
    LeetCode 三角形最小路径和
    sql注入漏洞的利用
    XSS漏洞防御
    忘记密码功能漏洞挖掘
    sql bypass
    Web环境搭建组合
    常用数据库的总结
  • 原文地址:https://www.cnblogs.com/keanuyaoo/p/3281356.html
Copyright © 2011-2022 走看看