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美元...