矩陣連乘的相乘次數 ZOJ1094

2022-04-01 08:33:11 字數 928 閱讀 3407

解題報告:

1、資料結構:

///

矩陣行數和列數

struct

node;

///矩陣的屬性

map matrix;

///模擬矩陣相乘

stack array;

///讀取訊息

string exp;

2、模擬矩陣相乘。

①遇到矩陣進棧array;

②遇到')'出棧兩個矩陣,相乘,得到新的矩陣,然後進棧。

③記錄相乘次數。

#include #include 

#include

#include

#include

#include

using

namespace

std;

///矩陣的行數和列數

struct

node

;///

矩陣引數

mapmatrix;

int n;///

矩陣個數

char name;///

矩陣名稱

intmain()

///計算矩陣

string

exp;

///對每乙個矩陣計算

while(cin>>exp)

///累計兩個矩陣相乘的次數

count+=a.row*b.row*b.col;

///將計算到的新矩陣如棧

node tmp=;

array.push(tmp);

}else array.push(matrix[exp[i]]); ///

矩陣如棧

}

if(i==exp.size())

}return0;

}

矩陣連乘最少次數

include define max 50 define inf 99999999 int p max 1 矩陣鏈乘 存各矩陣的行數和最後乙個矩陣的列數 int m max max 總矩陣 int s max max 儲存分割點 int n 輸入矩陣的個數 void matrix void prin...

動態規劃之矩陣連乘問題的兩個矩陣相乘

矩陣連乘簡介詳細例子以及解析 測試結果 給定n個矩陣,其中,ai與ai 1是可乘的,i 1,2,n 1。由於矩陣乘法滿足結合律,故計算矩陣的連乘積可以有不同的計算次序。矩陣a和b可乘的條件是矩陣a的列數等於矩陣b的行數。若a是乙個p q矩陣,b是乙個q r矩陣,則其乘積c ab是乙個p r矩陣。在上...

矩陣的相乘

三種方法 1,torch.mm 僅僅適用2維的矩陣相乘 2,torch.matmul 3,a torch.randn 3,3 b torch.rand 3,3 a tensor 0.6505,0.0167,2.2106 0.8962,0.3319,1.2871 0.0106,0.8484,0.617...