題意:給n(n<=40)個木板,每個長度不超過40.問40條木板能夠組成的最大三角形面積是多少。
解法:dp[i][j][k]表示前k個木板是否能夠組成兩個長度為i,j的組合,當然ij是相互沒有重疊部分的。根據三角形的性質知道,i,j都不會大於等於周長的一半,所有取最大800就夠了。滾動使用dp[i][j]可以將空間降到二維,為了避免i,j有重復使用同一個木板,從大向小反向dp。
代碼:
/****************************************************
* author:xiefubao
*******************************************************/
#pragma comment(linker, "/STACK:102400000,102400000")
#include
#include
#include
#include
#include
#include
#include
#include
#include