1.數字三角形/數塔問題(dp入門題)
有形如下圖所示的數塔,從頂部出發,在每一結點可以選擇向左走或是向右走,一起走到底層,要求找出一條路徑,使路徑上的值最大。
樣例輸入:
11 8
12 7 26
6 14 15 8
12 7 13 24 11
樣例輸出:
86(13->8->26->15->24)
狀態轉移方程:dp[i][j]=max(dp[i+1][j],dp[i+1][j+1])+a[i][j]; 從最低層往上搜尋
#include #include #include #include #include #include //#include #define ll long long
using namespace std;
#define pai acos(-1,0)
int map[355][355];
int dp[355][355];
int main()
} for(int i=1;i<=n;i++)
dp[n][i]=map[n][i];
for(int i=n-1;i>=1;i--)
cout<2. 序列dp
(1)最長上公升子串行lis
輸入n及乙個長度為n的數列,求出此序列的最長上公升子串行長度。上公升子串行指的是對於任意的i樣例輸入:
4 2 3 1 5
樣例輸出:
3(最長上公升子串行為2, 3, 5)
#include #include #define maxn 1005
using namespace std;
int n,a[maxn];
int dp[maxn]; //dp[i]記錄以a[i]為末尾的最長上公升子串行的長度
int main()
ret=1;
for(i=1;i<=n;i++)
}printf("%d\n",ret);
}return 0;
}
UML經典書籍合集
資源大小 11.91mb 上傳者 shenzhq1980 所需積分 0 uml基礎與rose建模教程.pdf 資源大小 19.99mb 上傳者 shenzhq1980 所需積分 0 uml with rational rose從入門到精通.pdf 資源大小 16.39mb 上傳者 shenzhq19...
經典排序演算法合集
前言 作為乙個畢業季的狗子,在已經到來的秋招面前可謂是瑟瑟發抖。在海投簡歷的過程中,一次又一次的筆試,一次又一次的涼涼早就見怪不怪了。但是排序演算法出現的頻率真的比較大,所有現在做乙個學習及總結,應對接下來的筆試和面試 v 首先來乙個總的介紹,基本排序演算法到底有哪些,不說了,直接上圖 總結一下 平...
osu合集(期望dp)
easy 我們設 f i 表示到 i 的連續個數平方的期望。g i 表示到到 i 的連續個數的期望 在維護 f i 的同時維護一下 g i 就行了。轉移方程 g i p i times g f i p i times f 2 times g 1 1 p i times f 解釋一下第二個方程,長度有...