記憶體限制:128 mib 時間限制:1000 ms 標準輸入輸出
題目型別: 傳統評測方式:文字比較
乙個nm矩陣由n行m列共nm個數排列而成。兩個矩陣a和b可以相乘當且僅當a的列數等於b的行數。乙個nm的矩陣乘以乙個mp的矩陣等於乙個np的矩陣,運算量為nmp。 矩陣乘法滿足結合律,abc可以表示成(ab)c或者是a(bc),兩者的運算量卻不同。例如當a=23 b=34 c=45時,(ab)c=64而a(bc)=90。顯然第一種順序節省運算量。 現在給出n個矩陣,並輸入n+1個數,第i個矩陣是a[i-1]*a[i]。
第一行n(n<=100) 第二行n+1個數
最優的運算量
3
2 3 4 5
64
思路如下
首先,對於
1 #include2 #include3 #include4using
namespace
std;
5intn;6
long
long
in[201],dp[201][201]/*
第 i 個 至 第 j 個 的 最 小 值 */;
7int
main()824
}25}26 cout<1
][n];
27 }
區間DP tyvj 1466 最美妙的矩陣
題目分析 這是一道區間dp,但我一開始連暴力都想複雜了。qwq 結果連30分的暴力都沒想到!解法一 其實這道題的暴力應該還是蠻好想的!分別列舉兩個端點 乙個左上,乙個右下 然後暴力掃一遍區間,看是否合法即可,然後記錄最大值。解法二 我們優化一下上述思路,我們先預處理一下。用u i j 記錄第i行第j...
1 區間選點 區間問題
區間問題一般都需要對區間進行排序,對左端點排序,或對右端點排序,或雙關鍵字排序 然後需要 證明這樣的選法選出來的點數一定是符合答案的,且是選點最少的 首先按照這個方法來選的話,每乙個區間上一定選了乙個點,所以這種選法是一種合法的方案 然後這道題的最優解是指所有合法方案中的選點最少的,所以 所以ans...
1 判斷數字所在區間
1 0 找區間 輸入兩個閉區間,然後輸入n個數字,依次輸出每個數字所在的區間有幾個。例如 1 5 區間 1,5 3 6 區間 3,6 31 47輸出 120 1 1 不僅要輸出每個數字所在的區間,還要輸出它所在的區間是幾號區間。剛才的輸出應該變為 1 12 1 2 0 1 自己寫的 include ...