這題的話,求最大01矩陣,我們找每行的某一點,先初始化這點的高,再向兩邊延伸l[i],r[i],遍歷所有節點就可以求出所有的面積
l[i]的求法可以用dp,一開始只看懂了用底*高的求法,一直在想dp在**...很好的題呀
狀態轉移方程
l[i] = l[l[i]-1] (a[k][i]<=a[k][l[i]-1])
先求出每行某一點的高度,剩下的問題和1506一模一樣了
#include #includeview code#include
#include
#include
#include
#include
using
namespace
std;
const
int inf = (1
<<31)-1
;const
int maxn = 1e3+10
;int
dp[maxn][maxn];
intl[maxn];
intr[maxn];
intmain()
}int ans,mmax = -inf;
for(int i=1;i<=n;i++)
for(int j=m;j>=1;j--)
for(int j=1;j<=m;j++)
}cout
}//cout << "hello world!" << endl;
return0;
}
dp入門 1 HD2084 數塔
記錄acm入門 dp入門第一天,hd2084解題報告思路 hd2084 有如下所示的數塔,要求從頂層走到底層,若每一步只能走到相鄰的結點,則經過的結點的數字之和最大是多少?輸入資料首先包括乙個整數c,表示測試例項的個數,每個測試例項的第一行是乙個整數n 1 n 100 表示數塔的高度,接下來用n行數...
NOIP2017模擬賽 龍珠(dp 單調佇列優化)
你得到了乙個龍珠雷達,它會告訴你龍珠出現的時間和地點。龍珠雷達的畫面是一條水平的數軸,每乙個視窗時間,數軸的某些點上會出現同一種龍珠,每當你獲得其中一顆龍珠,其它龍珠就會消失。下乙個視窗時間,數軸上又會出現另一種龍珠。總共有n個視窗時間,也就是總共有n種龍珠。假設你會瞬間移動,你從數軸的x點移動到y...
bzoj3156防禦準備 DP之單調佇列優化
第一行為乙個整數n表示戰線的總長度。第二行n個整數,第i個整數表示在位置i放置守衛塔的花費ai。output 共乙個整數,表示最小的戰線花費值。sample input 102 3 1 5 4 5 6 3 1 2 sample output 這道題是dp,這是毋庸置疑的。我們先考慮暴力dp,我們顯然...