uva1331三角剖分

2022-06-21 15:12:10 字數 679 閱讀 1941

題意:輸入乙個簡單m(2

分析:每條對角線都是無序的,因此,給節點編號,從1到n-1,順時針方向,這樣多邊形的頂點都是有序的了,這樣就可劃分區間,類似區間dp來做。

#includeusing

namespace

std;

const

int maxn=55

;const

double inf=0x3f3f3f3f

;const

double eps=1e-9

;double

d[maxn][maxn];

intn;

struct

point

}p[maxn];

double

area(point a,point b,point c)

bool judge(int a,int b,int

c)

return

true;}

double

solve()

}double ans=inf;

for(int i=0;i)

ans=min(ans,d[i][(i+n-1)%n]);

return

ans;

}int

main()

return0;

}

UVA 1331 三角剖分

題意 按照順時針或者逆時針的順序給出多邊的點,要將這個多邊形分解成n 2個三角形,要求使得這些三角行中面積最大的三角形面積盡量小,求最小值。分析 對於對角線不在多邊形內的點,其實不用考慮,只用判斷三角形內是否有其他點即可。includeusing namespace std define inf 0...

UVA 1331 區間DP 三角剖分

題目文件 題目大意 按照順時針或者逆時針的順序給出多邊的點,要將這個多邊形分解成n 2個三角形,要求使得這些三角行中面積最大的三角形面積盡量小,求最小值。分析 設dp i j 為i,i 1,i 2,j 1這個多邊形的最大三角形面積的最小值,則很容易得出dp i j min dp i j max s ...

UVa 1331 最大面積最小的三角剖分 dp

一共有4條邊,我們可以以隨意的順序切割,不過如果這樣的話,就會出現類似v0v3v4v6這樣的多邊形,這樣的多邊形很難用簡潔的狀態表示出來,這就是讓我一開始很糾結的地方。其實我們會發現,對於同一種切割方法,我們可以有多種切割順序,但我們只要計算一種就好了,不如把決策順序規範化。例如還是上面第一張圖,我...