题意:给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