hihocoder 1360 凸多边形

暴力枚举凸多边形起点,dp[i][j][k]维护起点是i,终点是j,由k个点组成的凸多边形

转移方程:dp[i][j][p+1]=max(dp[i][j][p+1],dp[i][k][p]+s(i,k,j));

#include
#include
#include
#include
using namespace std;
#define maxn 205
int n,m;
int x[maxn],y[maxn];
long long dp[maxn][maxn][maxn];
int s(int i,int j,int k){
    return x[i]*y[j]+x[j]*y[k]+x[k]*y[i]-x[i]*y[k]-x[j]*y[i]-x[k]*y[j];
}
int main()
{
    scanf("%d%d",&n,&m);
    for(int i=0;i


你可能感兴趣的:(hihocoder 1360 凸多边形)