DP 動態規劃入門 一維陣列
一個一維陣列,取一個數後不能取其相鄰的數,取a0就不能取a1,取a1不能取a0和a2,求能取最大數之和。
輸入:
5(陣列長度)
[4,7,9,3,1]
輸出: 14
思路:順應題目int一個相同長度的陣列s[n],s[n]對應a[0]到a[n]的最大數之和(不取相鄰數)。類似數學裡的數列。
然後一個數判斷一次,從第一個判斷到最後一個就可以了。
程式碼規範如下
#include<bits/stdc++.h>
using namespace std;
#define maxn 100010
int n,a[maxn],dp[maxn];
int main(){
cin>>n;
for(int i=1;i<=n;i++) cin>>a[i],dp[i]=0;
dp[1]=a[1];
for(int i=2;i<=n;i++) dp[i]=max(dp[i-2]+a[i],dp[i-1]);
cout<<max(dp[n-1],dp[n])<<endl;
return 0;
}
相關文章
- 最大子陣——動態規劃DP動態規劃
- 動態規劃使用一維陣列要注意的問題動態規劃陣列
- 動態規劃(DP)動態規劃
- 動態規劃入門——動態規劃與資料結構的結合,在樹上做DP動態規劃資料結構
- 動態規劃入門篇動態規劃
- DP動態規劃-爬塔(雙層dp)動態規劃
- 陣列004 動態建立一維陣列陣列
- (C++)DP動態規劃C++動態規劃
- [動態規劃] 區間 dp動態規劃
- 動態規劃入門 E – 免費餡餅 (dp的另一個應用)動態規劃
- 全新的動態規劃入門——從維度談起動態規劃
- 禮物的最大價值(一維動態規劃&二維動態規劃)動態規劃
- 一文帶你入門動態規劃動態規劃
- 一維動態規劃總結動態規劃
- 動態規劃篇——線性DP動態規劃
- 一維動態規劃和二維動態規劃中兩道經典題目動態規劃
- 演算法基礎:動態規劃陣列中滾動陣列的使用演算法動態規劃陣列
- 【動態規劃(一)】動態規劃基礎動態規劃
- 【動態規劃】一些奇怪的DP題目的列表動態規劃
- 【動態規劃】樹形DP完全詳解!動態規劃
- 【DP專輯】ACM動態規劃總結ACM動態規劃
- C++動態建立二維陣列,二維陣列指標,以及動態二維陣列函式傳遞C++陣列指標函式
- 動態規劃中初識狀態壓縮(入門)動態規劃
- 動態規劃&矩陣連乘動態規劃矩陣
- PHP一維陣列轉二維陣列正規表示式PHP陣列
- 動態規劃演算法(DP)學習<1>動態規劃演算法
- LeetCode入門指南 之 動態規劃思想LeetCode動態規劃
- 狀態壓縮動態規劃 -- 炮兵陣地動態規劃
- 強化學習(三)用動態規劃(DP)求解強化學習動態規劃
- 迴文串問題(動態規劃DP C++)動態規劃C++
- JavaSE 陣列:一維陣列&二維陣列Java陣列
- 【動態規劃】用一維和二維解決不同路徑動態規劃
- 動態規劃之經典數學期望和概率DP動態規劃
- 動態規劃動態規劃
- js 一維陣列轉二維陣列JS陣列
- js 二維陣列轉一維陣列JS陣列
- PHP二維陣列轉一維陣列PHP陣列
- [JAVA] Java 陣列、多維陣列,動態、靜態初始化,陣列JVM記憶體模型分析Java陣列JVM記憶體模型