Acme Design is a full service design agency.

數學-矩陣

Sarah Levin, CEO

    Text

矩陣乘法

int a[M][M], b[M][M], c[M][M];
for (int i = 0; i < ax; i++)
	for (int j = 0; j < by; j++)
    {
		for (int k = 0; k < ay; k++)
        	c[i][j] += a[i][k] * b[k][j];
    }

我們常常會需要計算\(a^n\),但O(n)的作法太耗時間了,這時候我們就可以把n拆成二進位,並把是其中一的位元相乘即可

 

快速冪

int power(int a, int n)
{
	int ans = 1;
    for (;n; n = n >> 1)
    {
    	a = a*a;
    	if (n & 1) // 代表此位元是1
        	ans = ans*a;
    }
    return ans;
}
  • 由於(AA)A = A(AA),相同的矩陣我們可以運用快速冪來讓他跑得更快

矩陣快速冪

Desk

By yujuan

Desk

  • 222