動態規劃 hdoj 1087解題報告

2021-07-11 23:00:39 字數 505 閱讀 9227

hdoj 1087 super jumping! jumping! jumping!

題意大致是求乙個數列的單調遞增子列的和的最大值。資料只有1000,因此隨便dp一下就好。

思路:令b[1,...,n]為數列,a[i] 為以b[i]為最後一項的和最大的子串行。因此有遞推公式:

a[0] = 0;

a[i] = max (a[j] + b[i] )   where b[j] < b[i],j = 0,1,...,i-1 ;

單調遞增子列和最大值就是a[0,...,n]的最大值。

**:

#include long long a[1005],b[1005];

int main(void)

b[0] = 0;

memset(a,0,sizeof(a));

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

printf("%lld\n",max);

}return 0;

}

HDOJ1087解題報告 動態規劃

題目概述 求所有的嚴格上公升子串行的最大和。大致思路 有點類似於求最長上公升子串行。用dp解決。令f i 表示前i個數中所有嚴格上公升子串行的最大和,轉移方程為 邊界條件為f i a i 複雜度分析 很容易看出dp的複雜度為o n 總複雜度為o t n 1 include 2 include 3 i...

解題報告 hdoj1069(動態規劃)

大概題意 猴子想拿到房頂的香蕉,有幾種不同的block可用,每種可用若干個,每種block有三個引數 x,y,z。猴子可以將面積大的放下層,然後再放上乙個面積小的,然後 這樣可以增加最後能達到的高度。但是有個要求 上面的block的長和寬都必須嚴格的小於下面的block。每個block的兩個引數當做...

HDOJ 1217 Arbitrage 解題報告

求最短路的題,與普通最短路不同的地方是運算是用乘法而不是加法。題意 套匯是指利用不同外匯市場 的外匯差價,在某一外匯市場上買進某種貨幣 同時在另一外匯市場上賣出該種貨幣,以賺取利潤 這種利潤稱之為套利。比如1美元可以買0.5英鎊,而1英鎊可以買10法郎,2法郎可以買1美元,那麼可用通過套匯使用1美元...