矩陣運算 快速冪

2021-07-16 04:47:31 字數 768 閱讀 6955

矩陣乘法必須滿足第乙個矩陣的列等於第二個矩陣的行。

結果矩陣的行是第乙個矩陣的行,列是第二個矩陣的列。

矩陣乘法行列各元素相乘。

矩陣快速冪利用冪的二分優化。

利用運算子過載進行一系列更方便的操作。

// 整數快速冪取模

template

long

long ipow(type x, type n, type mod)

return result;

}//矩陣運算類

struct mat

mat() = default;

//input and output

void in()

void out()

printf("\n");}}

//init

void init()

//overload

mat operator * (mat& rhs)

ans.rect[i][j] = res;}}

}return ans;

}void

operator *= (mat& rhs)

ans.rect[i][j] = res;}}

}rect = ans.rect;

}mat operator ^ (int k)

return ans;

}void

operator ^= (int k)

(*this) = ans;

}};

矩陣運算及 快速冪求矩陣

矩陣運算 這裡主要是針對方陣 是很重要的乙個環節,先說加法吧 加法比較簡單,同行同列想加就可以運算的 mat operator mat a,mat b 其次就是乘法 原理也簡單 線性代數應該學過,a i k 和 b k j 和做乘積運算得到c i j mat operator mat a,mat b...

快速冪(矩陣快速冪)

求 3 0 3 1 3 n mod 1000000007 input 輸入乙個數n 0 n 10 9 output 輸出 計算結果 sample input 3sample output 40 分析 利用等比數列的求和公式得所求和是 3 n 1 1 2,如果暴力求3 n 1 會超時,這裡引入快速冪來...

快速冪 矩陣快速冪

快速冪 正常情況下求乙個數的冪時間複雜度為o n 而快速冪能把時間複雜度降到o logn 舉個例子 求5的13次方 思想首先把13化為二進位制 1101,即13 1101 8 1 4 1 2 0 1 1 即5 13 58 1 54 1 52 0 5 1 15 5 8 1 5 4 1 5 2 0 5 ...