poj2385 很好的動態規劃

2021-07-04 06:20:09 字數 760 閱讀 3357

以前做的

/* poj2385 dp[i][j]表示第i分鐘移動j次最多蘋果數

* 注意初始化不移動時候 呆在第一棵樹下能吃到的蘋果數

* 第一分鐘可以移動到第二顆樹下吃蘋果

* j的值的奇偶性能判斷牛的位置

* 能吃到的話可能從另一棵樹來,也可能是本身就在這棵樹下

* 不能吃到的話一定是本身就在這棵樹下(等他後面掉呢)

* 不能吃到的話還用從另一棵樹過來?

* 最後找小於等於w步數中dp陣列的最大值 題目是小於等於w步中吃到最多的。

*/#include#include#include#includeusing namespace std;

inline int max(int a,int b)

int a[1001];

int dp[1002][31];

int main()

int dp[1006][36];

int a[1006];

int main()

dp[1][0]=2-a[1];

dp[1][1]=a[1]-1;

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

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

else}}

int ans=-inf;

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

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

}return 0;

}

DP,得到最多蘋果, POJ2385

題意 牛在兩棵蘋果樹下收集蘋果,牛只能在這兩棵樹之間走動w次,在t時刻,某棵樹會掉下蘋果。解題報告 dp t w 表示1 t秒內,轉w次能夠獲得的最多蘋果數目 狀態轉移方程 dp t w max dp t 1 w dp t 1 w 1 include include include using na...

poj 2385 來回走接蘋果dp

題意 有兩棵樹,奶牛開始時在樹1下,現在每分鐘兩棵樹中的某一棵會下蘋果,奶牛只可以移動w次。給每分鐘下蘋果的順序,問奶牛最多能拿到多少蘋果。解析 dp i j 表示的是在第i分鐘,移動了w次拿到的最多蘋果。因為奶牛初始在樹1下,所以 dp i 0 dp i 1 0 a i 1 1 0 狀態轉移方程 ...

poj 2385 樹上掉蘋果問題 dp演算法

題意 有樹1 樹2 會掉蘋果,奶牛去撿,只能移動w次,開始的時候在樹1 問最多可以撿多少個蘋果?思路 dp i j 表示i分鐘移動j次撿到蘋果的最大值 例項分析 0,1 1,2.說明 偶數在樹1 奇數在樹2 for int i 1 i n i for int i 1 i n i for int j ...