洛谷 1736 創意吃魚法

2022-03-04 09:08:29 字數 1155 閱讀 2460

這是一道來自洛谷普及訓練場的題目。

第一眼看到此題,覺得乙個2維dp加乙個2維字首和就ok了,結果72分。。。卡了很久,最後才明白錯誤的原因。

int calc(int x, int y, int ex, int ey)             //

72分 忽略了部分繼承的情況

intmain()

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

if (a[1][i]) dp[1][i][0] = dp[1][i][1] = 1

;

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

for (int j = 1; j <= m; ++j)

cout

<

}

錯誤原因是顯而易見的,只是我太菜了。。。我們不能只考慮全部繼承和全不繼承, 我們還要考慮部分繼承的情況。

ac**:

#include #include 

#include

#include

#include

using

namespace

std;

intread()

int n, m, ans = 0

, b;

int a[2505][2505

];int dp[2505][2505

];int l[2505][2505

];int u[2505][2505

];int r[2505][2505

];int

main()

memset(dp,

0, sizeof(0

));

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

for (int j = m; j >= 1; --j)

if (!a[i][j])

r[i][j] = r[i][j + 1] + 1

;

else r[i][j] = 0, dp[i][j] = min(dp[i - 1][j + 1], min(r[i][j + 1], u[i - 1][j])) + 1, ans =max(dp[i][j], ans);

cout

<

}

洛谷 P1736 創意吃魚法

題目描述 回到家中的貓貓把三桶魚全部轉移到了她那長方形大池子中,然後開始思考 到底要以何種方法吃魚呢 貓貓就是這麼可愛,吃魚也要想好吃法 她發現,把大池子視為01矩陣 0表示對應位置無魚,1表示對應位置有魚 有助於決定吃魚策略。在代表池子的01矩陣中,有很多的正方形子矩陣,如果某個正方形子矩陣的某條...

洛谷P1736 創意吃魚法

回到家中的貓貓把三桶魚全部轉移到了她那長方形大池子中,然後開始思考 到底要以何種方法吃魚呢 貓貓就是這麼可愛,吃魚也要想好吃法 她發現,把大池子視為01矩陣 0表示對應位置無魚,1表示對應位置有魚 有助於決定吃魚策略。在代表池子的01矩陣中,有很多的正方形子矩陣,如果某個正方形子矩陣的某條對角線上都...

洛谷 P1736 創意吃魚法

回到家中的貓貓把三桶魚全部轉移到了她那長方形大池子中,然後開始思考 到底要以何種方法吃魚呢 貓貓就是這麼可愛,吃魚也要想好吃法 她發現,把大池子視為01矩陣 0表示對應位置無魚,1表示對應位置有魚 有助於決定吃魚策略。在代表池子的01矩陣中,有很多的正方形子矩陣,如果某個正方形子矩陣的某條對角線上都...