4815 江哥的dp題a

2022-05-03 10:48:20 字數 1219 閱讀 3938

時間限制: 1 s

空間限制: 256000 kb

題目等級 : ** gold

題解給出乙個長度為n的序列a(a1,a2,a3,...,an)。現選擇k個互不相同的元素,要求: 1.兩兩元素互不相鄰

2.元素值之和最大

輸入描述 input description

第一行兩個正整數n,k。 接下來一行n個整數,描述a。

輸出描述 output description

輸出一行乙個整數,描述答案(最大和)。

樣例輸入 sample input

樣例1:

7 33 5 7 -1 9 10 7

樣例2:

7 33 21 7 -1 9 20 7

樣例輸出 sample output

樣例1:

樣例2:

資料範圍及提示 data size & hint

測試點編號            資料範圍 

1,2,3                      k≤n≤20 

4,5,6,7,8,9,10       k≤n≤1000

分類標籤 tags 點此展開 

ac**(不靠譜版):

#include#include

#define ll long long

using

namespace

std;

const

int n=1e3+10

;ll n,k,a[n],f[n][n];

intmain()

}printf(

"%lld\n

",f[n][k]);

return0;

}

ac**(靠譜版):

#include#include

#include

#define ll long long

using

namespace

std;

const

int n=1e3+10

;ll n,k,a[n],f[n][n][2];

intmain()

}printf(

"%lld\n

",max(f[n][k][0],f[n][k][1

]));

return0;

}

江哥的dp題a codevs 4815

題目描述 description 給出乙個長度為n的序列a a1,a2,a3,an 現選擇k個互不相同的元素,要求 1.兩兩元素互不相鄰 2.元素值之和最大 輸入描述 input description 第一行兩個正整數n,k。接下來一行n個整數,描述a。輸出描述 output descriptio...

江哥的DP題(A)

題目描述 給定乙個長度為n的序列a a1 a2 a3 an 取k個互不相同的元素,使得 1 兩兩元素互不相鄰 2 元素之和最大。輸入描述 第一行輸入兩個正整數n k 第二行輸入n個整數,表示序列a中的元素。輸出描述 輸出乙個整數,表示最大和。樣例輸入 樣例1 7 33 5 7 1 9 10 7 樣例...

CODE VS 江哥的DP題a

原題 先來一波江哥的解題報告殺 這種方法十分的高深莫測,所以我們換乙個容易理解的 f i,j 表示前i個選j個,且第i個必選,那麼就是江哥的轉移方程 p.s 但是不會字首和優化!顯然,這樣的方法只能獲得30分,資料十分的坑,那麼優化如下 f i,j,0 表示前i個裡面選j個且第i個不選 f i,j,...