hihocoder 1580 dp最大子矩陣和

2022-08-20 11:15:08 字數 828 閱讀 7130

題意:給出n*m的矩陣求最大子矩陣和,要求必須把矩陣中的某乙個元素替換成p

**:

//

求最大子矩陣和,容易想到壓縮之後dp但是這道題要求必須替換一次p,必然優先替換最小的。

//這樣如果求得的結果恰好等於這個矩陣所有的元素的

//和但不是整個矩陣,並且沒有替換元素結果就不對了,需要特判一下這種情況。比如以下兩組資料:

//2 2 -4 2 2 -4

//1 -1 1 1

//1 1 1 1 dp求出來的結果分別是2和4並且沒有替換p。

#include#include

#include

using

namespace

std;

const

int inf=0x3f3f3f3f

;int mp[309][309],b[309],c[309],f[309][2

];int

n,m,p,ans;

void

dp()

}void

solve()

}}int

main()

ans=-inf;

for(int i=1;i<=n;i++)

if(i==1&&j==n) solve();

else

dp();}}

printf(

"%d\n

",ans);

}return0;

}

最大子矩陣 DP

time limit 10000ms memory limit 165888kb 64bit io format lld llu hysbz 1084 這裡有乙個n m的矩陣,請你選出其中k個子矩陣,使得這個k個子矩陣分值之和最大。注意 選出的k個子矩陣不能相互重疊。第一行為n,m,k 1 n 10...

最大子矩陣 dp

已知矩陣的大小定義為矩陣中所有元素的和。給定乙個矩陣,你的任務是找到最大的非空 大小至少是1 1 子矩陣。比如,如下4 4的矩陣 0 2 7 0 9 2 6 2 4 1 4 1 1 8 0 2 的最大子矩陣是 9 2 4 1 1 8 這個子矩陣的大小是15。輸入是乙個n n的矩陣。輸入的第一行給出n...

最大子矩陣問題 dp

e acmer 題意 給你乙個矩陣,求它的所有元素和最大的子矩陣.分析 我們只知道一維的情況就是經典的最大子段和.然而維數達到二維就變的複雜了.我們觀察資料範圍500,易想到n3 的演算法也能過.純暴力是n4 的方法 然後可以通過列舉其中一維,dp最後一維的方法求出.處理列上的和為字首和,然後列舉列...