洛谷 1437 敲磚塊 DP

2021-08-22 11:56:26 字數 533 閱讀 3280

題意:中文題

題解:先旋轉三角形。

然後要打掉第i行第j個,就要打掉第i行第j-1個和第i-1行第j-1個。

所以到第i,j元素時,對於第i行,前j都被打掉,後面的都沒被打掉。但是對於第i-1行,前j-1一定被打掉,但後面的可以被打掉,也可以不打掉。所以狀態轉移就很好寫了。

**:

#include #include#includeusing namespace std;

int a[55][55];

int dp[55][55][1300];

int main()

} //預處理字首和

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

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

}} }

int ans=0;

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

printf("%d\n",ans);

//cout << "hello world!" << endl;

return 0;

}

dp 洛谷P1437 HNOI2004 敲磚塊

這道題不可以直接行列dp 這樣乙個狀態可以從非常多且複雜的狀態更新過來 很麻煩,不可取 標算 這裡講的很好 但是我們不用旋轉三角形,直接在dp的時候換一下順序就好啦 include include include include define ll long long using namespace...

洛谷P1437 HNOI2004 敲磚塊 dp

無 在乙個凹槽中放置了 n 層磚塊 最上面的一層有n 塊磚,從上到下每層依次減少一塊磚。每塊磚 都有乙個分值,敲掉這塊磚就能得到相應的分值,如下圖所示。14 15 4 3 23 33 33 76 2 2 13 11 22 23 31如果你想敲掉第 i 層的第j 塊磚的話,若i 1,你可以直接敲掉它 ...

洛谷 P1437 HNOI2004 敲磚塊

在乙個凹槽中放置了 n 層磚塊 最上面的一層有n 塊磚,從上到下每層依次減少一塊磚。每塊磚 都有乙個分值,敲掉這塊磚就能得到相應的分值,如下圖所示。14 15 4 3 23 33 33 76 2 2 13 11 22 23 31如果你想敲掉第 i 層的第j 塊磚的話,若i 1,你可以直接敲掉它 若i...