洛谷P1434 滑雪 線性化Dp

2021-08-13 22:48:09 字數 754 閱讀 1080

輸入的第一行表示區域的行數r和列數c(1 <= r,c <= 100)。下面是r行,每行有c個整數,代表高度h,0<=h<=10000。

輸出最長區域的長度。

5 5

1 2 3 4 5

16 17 18 19 6

15 24 25 20 7

14 23 22 21 8

13 12 11 10 9

把二維化成一維,把每個座標的點記錄下來,然後按照高度排序,然後迴圈,取該點可以滑到的點的最大值然後加1(自己該格)。

動態轉移方程:f[i]=max

#include

#include

#include

using

namespace

std;

struct jlw;//結構體

jlw a[100001];

int x,y,n,m,num,maxs,w,f[100001];

bool cmp(jlw x,jlw y)//比較器

int main()

sort(a+1,a+w+1,cmp);

//c++自帶快排,用比較器做到搜尋關鍵字

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

f[i]++;//加上自己的

maxs=max(f[i],maxs);//取最大值

}printf("%d",maxs);//輸出

}

洛谷 P1434 滑雪

題目描述 michael喜歡滑雪。這並不奇怪,因為滑雪的確很刺激。可是為了獲得速度,滑的區域必須向下傾斜,而且當你滑到坡底,你不得不再次走上坡或者等待公升降機來載你。michael想知道在乙個區域中最長的滑坡。區域由乙個二維陣列給出。陣列的每個數字代表點的高度。下面是乙個例子 1 2 3 4 5 1...

洛谷 p1434 滑雪

洛谷 p1434 滑雪 1.附上70分 include include int a 100 10 100 10 int vis 100 10 100 10 int r,c int next 2 上 下 左 右 int max 0 void dfs int step,int r1,int c1 int...

洛谷P1434滑雪

題目描述 michael喜歡滑雪。這並不奇怪,因為滑雪的確很刺激。可是為了獲得速度,滑的區域必須向下傾斜,而且當你滑到坡底,你不得不再次走上坡或者等待公升降機來載你。michael想知道在乙個區域中最長的滑坡。區域由乙個二維陣列給出。陣列的每個數字代表點的高度。下面是乙個例子 1 2 3 4 5 1...