___________________________________最好的旅行,是在陌生的地方,發現了一種久違的感動。
1.poj 3624
#include#includeusing namespace std;int w[3403],d[3403],dp[12881],n,m; //注意dp陣列的範圍要開大!否則的話無法ac!會顯示runtime error的!
int main()
cout<2.poj 1141
0x7fffffff 的二進位制表示就是除了首位是 0,其餘都是1
就是說,這是最大的整型數 int(因為第一位是符號位,0 表示他是正數)
#include#include
#include
using
namespace
std;
#define maxn 256
char
br[maxn];
intdp[maxn][maxn],pos[maxn][maxn];
intlen;
void print_br(int i,int
j)
else
if(pos[i][j]==-1
)
else
}bool match(int i,int
j)int
main()
for(mid=i;mid)}}
}print_br(
0,len-1
); printf("\n
");}
return0;
}
————————————————————————————————
3.
動態規劃入門
1 用 dp 做的題大多數返回值是int boolean,求max min,不能打亂原來輸入順序。2 動態規劃有兩個重要定義,乙個叫 optimal substructure 另乙個叫 overlap subproblem 各種排序 tree 類問題中,都會用到 divide conquer 的思想...
動態規劃入門
大家可以看看這篇文章dp,哪個更容易理解就看哪個!一 動態規劃的定義 動態規劃程式設計是一種針對於解決最優化問題的一種途徑 一種方法,而不是一種特殊演算法,也就是說它沒有固定的模板。在動態規劃中,每走一步都要看看能不能最優,而且動態規劃最擅長的就是多階段問題!二 動態規劃的基本概和基本模型構成 1....
動態規劃入門
學動態規劃自然要從數字三角形開始起步,那麼我們就先從數字三角形開始。數字三角形題目 有乙個由非負整數組成的三角形,第一行只有乙個數,除了最下行之外的每個數的左下方和右下方各有乙個數,如下圖所示 3 24 10 1 4 3 2 20 從第一行的數開始,每次可以往下或往右下走一格,直到走到最下行,把沿途...