大盜阿福(動態規劃)
知道,在不驚動警察的情況下,他今晚最多可以得到多少現金?
輸入格式
輸入的第一行是一個整數 T(T≤50) ,表示一共有 T 組資料。
接下來的每組資料,第一行是一個整數N(1≤N≤100,000),表示一共有 N 家店鋪。
第二行是 NN 個被空格分開的正整數,表示每一家店鋪中的現金數量。每家店鋪中的現金數量均不超過 1000。
輸出格式
對於每組資料,輸出一行。
該行包含一個整數,表示阿福在不驚動警察的情況下可以得到的現金數量。
提示
對於第一組樣例,阿福選擇第 2 家店鋪行竊,獲得的現金數量為 88。對於第二組樣例,阿福選擇第 1 和 4 家店鋪行竊,獲得的現金數量為 10 + 14 = 24。
輸出時每行末尾的多餘空格,不影響答案正確性
樣例輸入
2
3
1 8 2
4
10 7 6 14
樣例輸出
8
24
每個狀態i之和他的i-2狀態和i-1狀態有關。
並且有公式dp[i]=max(dp[i-1],dp[i-2]+x(為當前輸入的值));
#include<bits/stdc++.h>
using namespace std;
const int MAXN=100010;
int main(){
int t;
scanf("%d",&t);
while(t--){
int n;
scanf("%d",&n);
int dp[MAXN];
memset(dp,0,sizeof(dp));
for(int i=1;i<=n;i++){
int x;
scanf("%d",&x);
if(i==1)dp[i]=x;
else {
dp[i]=max(dp[i-2]+x,dp[i-1]);
}
}
printf("%d\n",dp[n]);
}
return 0;
}
相關文章
- AcWing 1049. 大盜阿福 【 動態規劃(狀態機) 】 題解動態規劃
- 線性dp:大盜阿福(打家劫舍)
- 【動態規劃(一)】動態規劃基礎動態規劃
- 動態規劃動態規劃
- 動態規劃分析動態規劃
- 動態規劃(DP)動態規劃
- 動態規劃初步動態規劃
- 模板 - 動態規劃動態規劃
- 動態規劃法動態規劃
- 演算法系列-動態規劃(1):初識動態規劃演算法動態規劃
- 淺談動態規劃動態規劃
- 有關動態規劃動態規劃
- 動態規劃小結動態規劃
- 動態規劃初級動態規劃
- 動態規劃講義動態規劃
- 好題——動態規劃動態規劃
- 3.動態規劃動態規劃
- 動態規劃-----線性動態規劃
- 動態規劃專題動態規劃
- 區間動態規劃動態規劃
- 動態規劃題單動態規劃
- 雙序列動態規劃動態規劃
- 動態規劃 總結動態規劃
- 動態規劃方法論動態規劃
- 動態規劃位置hdu 4540 威威貓系列故事——打地鼠(動態規劃)動態規劃
- 大廠常考動態規劃演算法題動態規劃演算法
- 動態規劃之數的劃分動態規劃
- 禮物的最大價值(一維動態規劃&二維動態規劃)動態規劃
- [leetcode] 動態規劃(Ⅰ)LeetCode動態規劃
- 動態規劃練習題動態規劃
- 關於動態規劃法動態規劃
- 動態規劃之理論分析動態規劃
- 斜率優化動態規劃優化動態規劃
- 【動態規劃】買賣股票動態規劃
- 動態規劃演算法動態規劃演算法
- 動態規劃解題方法動態規劃
- 動態規劃做題思路動態規劃
- 演算法_動態規劃演算法動態規劃