HDOJ1087解題報告 動態規劃

2022-03-01 11:16:44 字數 1152 閱讀 6383

題目概述:

求所有的嚴格上公升子串行的最大和。

大致思路:

有點類似於求最長上公升子串行。

用dp解決。

令f[i]表示前i個數中所有嚴格上公升子串行的最大和,轉移方程為:

邊界條件為f[i]=a[i].

複雜度分析:

很容易看出dp的複雜度為o(n²),總複雜度為o(t*n²)

**:

1 #include 2 #include 3 #include 4 #include 5 #include 6 #include 7 #include 8 #include 9 #include 10 #include 11

using

namespace

std;

1213

#define sacnf scanf

14#define maxn 1010

15#define inf 1061109567

16#define eps 0.001

17#define pi 3.1415927

18#define mod 1000000007

19void swap(int &a,int &b)

20int abs(int x)

21 typedef long

long

ll;22

23ll f[maxn];

2425

inta[maxn];

2627

intmain()

2841

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

4249

}50 ans=max(ans,f[i]);51}

52 printf("

%lld\n

",ans);53}

54//

clock_t ed=clock();

55//

printf("\n\ntime used : %.5lf ms.\n",(double)(ed-st)/clocks_per_sec);

56return0;

57 }

動態規劃 hdoj 1087解題報告

hdoj 1087 super jumping jumping jumping 題意大致是求乙個數列的單調遞增子列的和的最大值。資料只有1000,因此隨便dp一下就好。思路 令b 1,n 為數列,a i 為以b i 為最後一項的和最大的子串行。因此有遞推公式 a 0 0 a i max a j b ...

CF 1087解題報告

做出 t1 rating 97 想起幾個月前做不出t1還是有點小搞笑呀2333 雙指標 特判 發現k特別小,列舉剩餘系 還要判斷是否是能被n整除 移項發現可以算出整除是多少 然後 整除 k 剩餘數 n 算出答案,複雜度 o k 大力貪心 先算出a b之間的路徑,由於路徑不唯一 每次抉擇最多有兩種,變...

解題報告 hdoj1069(動態規劃)

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