POJ1088 滑雪 DP,查表法

2021-09-01 04:51:36 字數 562 閱讀 7773

dp-查表法

查表法的前提——

1. 不能迴圈查詢

例如,本題目:查詢dp(i,j),需要在內部查詢dp(i',j'),可能繼續進行遞迴,但因為遞迴過程總是沿著海拔降低,故不可能回過頭來再次查詢dp(i,j)

2. 正確處理遞迴(查表)終止條件

本題中,如果點(i,j)旁邊沒有低於它的點,則len[i][j]為0,直接返回

**:

#include #include #include #include using namespace std;

#define n 101

int map[n][n],len[n][n];

int dir[4][2]=,,,};

int r,c;

//點(i,j)為起始的最長滑行路線長度

int dp(int i,int j)

} len[i][j]=sub_max+1;

return sub_max+1;

}int main()

} printf("%d\n",mx);

}}

POJ1088 滑雪(簡單dp

題目要求 乙個人可以從某個點滑向上下左右相鄰四個點之一,當且僅當高度減小。求可以滑落的最長長度。題目解析 首先要先排一下序,因為只能高度遞減才能滑行。之後就很簡單了,就是簡單dp。即 要求的滑坡是一條節點遞減並依次相鄰的最長路徑,可以先根據高度將所有的點進行排序,在i點的時候,遍歷0 i 1個點 公...

POJ 1088 滑雪 (深搜 DP)

題目描述 input 第一行輸入兩個數n,m代表滑梯範圍行n和列m 1 n,m 100 下面是n行,每行有m個整數,代表高度h,0 h 20000 output 輸出乙個值,代表glory能夠在滑滑梯上面滑行的最長長度是多少 sample input 3 39 1 2 5 6 7 8 4 3 sam...

poj 1088 滑雪問題

這題剛開始我想到的是搜尋,但是超時了,所以要進行優化,聽說這是dp經典題,當時就瘋了,dp才初學,想到的是 dp i,j max dp 四個方向 但寫出來不太理想,主要是不懂的遞迴間數值的變化,導致一直出不來答案!後來看題解啊,改啊,搞啊,許久才出來個能a的 並且還0ms了,看來還得多熟悉下 inc...