矩陣 m 包含 r 行 c 列,第 i 行第 j 列的值為 mi,j。
請尋找乙個子矩陣,使得這個子矩陣的和最大,且滿足以下三個條件:
子矩陣的行數不能超過 x 行。
子矩陣的列數不能超過 y 列。
子矩陣中 0 的個數不能超過 z 個。
請輸出滿足以上條件的最大子矩陣和。
第一行輸入五個整數 r,c,x,y,z。接下來 n 行,每行輸入 m 個整數,第 i 行第 j 列的整數表示 mi,j。
1 ≤ r,c ≤ 500.
1 ≤ x ≤ r.
1 ≤ y ≤ c.
1 ≤ z ≤ r x c.
-109 ≤ mi,j ≤ 109
輸出滿足以上條件的最大子矩陣和。示例1複製
5 5 3 3 4複製0 0 10 0 0
3 4 0 2 3
-1 3 0 -8 3
0 0 32 -9 3
3 0 45 3 0
82示例2
複製
2 2 2 2 2複製-1 -1
-1 -1
Wannafly 挑戰賽 19 參考題解
這一次的 wannafly 挑戰賽題目是我出的,除了第一題,剩餘的題目好像對大部分演算法競賽者來說好像都不是特別友好,但是個人感覺題目質量還是過得去的,下面是題目鏈結以及題解。題目鏈結 wannafly 挑戰賽 19 參考題解 problem a.佇列 q 將操作離線倒序處理,可以線性效率解決這個問...
Wannafly挑戰賽 19 A 佇列Q 思維
這道題剛開始我的想法是用兩個棧分別去存first和last所操作的數,用map標記入棧的數,然後先將first棧中的數輸出,然後再遍歷陣列輸出沒有被標記的數,最後再輸出last棧中的數,雖然我覺得沒什麼問題吧,但是只過了5 的樣例。能ac的方法就是首先我們要從100000開始輸入資料 至於為什麼等會...
牛客 wannafly挑戰賽19 A 佇列
zzt 創造了乙個佇列 q。這個佇列包含了 n 個元素,佇列中的第 i 個元素用 qi 表示。q1 表示隊頭元素,qn 表示隊尾元素。佇列中的元素是 n 的乙個全排列。zzt 需要在這個佇列上執行 p 次操作,操作分兩種 first x 將元素 x 移到隊頭。last x 將元素 x 移到隊尾。在 ...