openjudge 雷濤的小貓

2021-07-08 15:10:55 字數 2021 閱讀 3894

總時間限制: 

20000ms 

單個測試點時間限制: 

10000ms 

記憶體限制: 

65536kb

描述

雷濤同學非常的有愛心,在他的宿舍裡,養著乙隻因為受傷被救助的小貓(當然,這樣的行為是違反學生宿舍管理條例的)。在他的照顧下,小貓很快恢復了健康,並且愈發的活潑可愛了。

可是有一天,雷濤下課回到寢室,卻發現小貓不見了!經過一番尋找,才發現她正趴在陽台上對窗外的柿子樹發呆…

在北京大學的校園裡,有許多柿子樹,在雷濤所在的宿舍樓前,就有n棵。並且這n棵柿子樹每棵的高度都是h。冬天的寒冷漸漸籠罩了大地,樹上的葉子漸漸掉光了,只剩下乙個個黃澄澄的柿子,看著非常喜人。而雷濤的小貓恰好非常的愛吃柿子,看著窗外樹上的柿子,她十分眼饞,於是決定利用自己敏捷的跳躍能力跳到樹上去吃柿子。

小貓可以從宿舍的陽台上跳到窗外任意一棵柿子樹的樹頂。之後,她每次都可以在當前位置沿著當前所在的柿子樹向下跳1單位距離。當然,小貓的能力遠不止如此,她還可以在樹之間跳躍。每次她都可以從當前這棵樹跳到另外的任意一棵,在這個過程中,她的高度會下降delta單位距離。每個時刻,只要她所在的位置有柿子,她就可以吃掉。整個「吃柿子行動」一直到小貓落到地面上為止。

雷濤調查了所有柿子樹上柿子的生長情況。他很想知道,小貓從陽台出發,最多能吃到多少柿子?他知道寫乙個程式可以很容易的解決這個問題,但是他現在懶於寫任何**。於是,現在你的任務就是幫助雷濤寫乙個這樣的程式。

圖為n = 3, h = 10, delta = 2的乙個例子。小貓按照圖示路線進行跳躍,可以吃到最多的8個柿子

輸入輸入檔案的第一行有三個以空格分隔的整數,分別代表n, h, delta

接下來的n行,每行第乙個整數為ni

,代表第i棵樹上的柿子數量。

接下來是ni

個整數,每個整數tij

代表第i棵柿子樹的tij

高度上長有乙個柿子。

輸出輸出僅包含乙個整數,即小貓最多吃到的柿子數。

樣例輸入

3 10 2

3 1 4 10

6 3 5 9 7 8 9

5 4 5 3 6 9

樣例輸出

8
提示

1 ≤ n, h ≤ 2000

0 ≤ ni

≤ 5000

1 ≤ delta ≤ n, 1 ≤ tij

≤ h輸入檔案大小不大於40960kb

**excalibur, 2008

#include

#include

#include

using namespace std;

int f[2100][2100],num[2100][2100];

int n,m,delta,i,j,k;

int max1[2100],max2[2100];

int num1[2100],num2[2100];

int ans;

int main()

}

f[0][0];

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

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

if (f[j][i]>max1[i])

else

if (f[j][i]>max2[i])

}for (int l=1;l<=n;l++)

if (f[l][m]>ans)

ans=f[l][m];

cout<

這道題剛開始寫的三重迴圈結果超時了,後來思考後發現其實第三重完全沒必要,原本第三重是列舉它是從哪棵樹樹跳到了當前點,但是因為它可以跳到任意一棵樹,所以只需要記錄一下每一層的最大值即可,不必列舉。但是還有一點要注意就是它不可以從當前這棵樹下降delta高度,所以還需要儲存一下次大值,這樣進行動態規劃即可。

雷濤的小貓題解

雷濤同學非常的有愛心,在他的宿舍裡,養著乙隻因為受傷被救助的小貓 當然,這樣的行為是違反學生宿舍管理條例的 在他的照顧下,小貓很快恢復了健康,並且愈發的活潑可愛了。可是有一天,雷濤下課回到寢室,卻發現小貓不見了!經過一番尋找,才發現她正趴在陽台上對窗外的柿子樹發呆 在北京大學的校園裡,有許多柿子樹,...

bzoj1207 雷濤的小貓

有n 5000 棵柿子樹,每棵上面都有若干柿子且每棵樹高度均為h 5000 現在要從樹頂開始吃柿子,每次可以使自己的高度下降1,但是所在的樹沒變,或者換到任意一棵樹上,但是高度會降低delta,問到達地面 高度為0 時,最多能吃多少柿子 讀題之後,首先想到乙個最樸素的df 設f i j 表示當高度為...

BJWC2008 雷濤的小貓

嘟嘟嘟 dp。剛開始我想的是dp i j 表示在第 i 棵樹上,高度為h能吃到的最多的果子,如此能得到轉移方程 dp i j max dp i j 1 dp k j derta k 1 n k i 但因為這樣寫會導致dp k j derta k i 的部分沒有更新,所以應該把dp試的兩胃交換一下。這...