💭

119. 行列の和・差・数との積

2023/03/22に公開

【問題概要】
2つの行列とスカラーを入力として受け取り、それらの和、差、スカラー倍、および積を計算して出力するプログラムを作成せよ。

【解説】
行列の和と差は、同じサイズの行列同士であれば各要素ごとに足し算や引き算を行うことで計算できます。具体的には、以下の手順で計算を行います。

2つの行列 A (サイズ m × n) と B (サイズ m × n) を用意する。
A と B の対応する要素を足し合わせる (または引き算を行う)。
計算結果を新しい行列 C (サイズ m × n) に格納する。
行列 C を出力する。
行列のスカラー倍は、行列の各要素にスカラーをかけることで計算できます。具体的には、以下の手順で計算を行います。

行列 A (サイズ m × n) とスカラー k を用意する。
A の各要素に k をかける。
計算結果を新しい行列 B (サイズ m × n) に格納する。
行列 B を出力する。
行列の積は、2つの行列 A (サイズ m × n) と B (サイズ n × p) の積を計算することで求めることができます。具体的には、以下の手順で計算を行います。

2つの行列 A (サイズ m × n) と B (サイズ n × p) を用意する。
行列 C (サイズ m × p) を用意する。
C の各要素 c_{i,j} を以下の式で計算する。
c_{i,j} = \sum_{k=1}^n a_{i,k} b_{k,j}
計算結果を行列 C に格納する。
行列 C を出力する。

以下は、行列の和、差、スカラー倍、および積に関連する問題の情報です。
「Matrix Addition」: https://atcoder.jp/contests/abc189/tasks/abc189_c (★3): 1200~2400: 54.9%: 1786: 92.9%: https://blog.hamayanhamayan.com/entry/2021/07/17/155616
この問題は、2つのn行m列の行列AとBが与えられた場合、A+Bを求める問題です。AtcoderのABC189のC問題として出題されました。行列の和を求めるだけなので、プログラムの基本的な知識があれば解ける問題です。

「Matrix Multiplication」: https://atcoder.jp/contests/abc134/tasks/abc134_e
ABC134E - Sequence Decomposing
レーティング難易度(★): 400
ACした回答者に絞った場合のレーティング帯の範囲(数値): 1217-2094
レーティング難易度(%): 56.8%
レーティング(数値): 1707
AC率(%): 56.8%
ACしたスコアの高い回答者: https://atcoder.jp/contests/abc134/submissions?f.User=khod
解説ブログ: https://atcoder.jp/contests/abc134/editorial/271

「Matrix Summation」: https://atcoder.jp/contests/abc182/tasks/abc182_f
ABC182F - Shortest Path on a Line
レーティング難易度(★): 500
ACした回答者に絞った場合のレーティング帯の範囲(数値): 1342-2306
レーティング難易度(%): 45.6%
レーティング(数値): 1835
AC率(%): 45.6%
ACしたスコアの高い回答者: https://atcoder.jp/contests/abc182/submissions?f.User=kawatea

「Gaussian Elimination」: https://atcoder.jp/contests/abc189/tasks/abc189_f
ABC189F - Sugoroku
レーティング難易度(★): 600
ACした回答者に絞った場合のレーティング帯の範囲(数値): 1686-2737

Discussion