凸多邊形區域劃分為三角形問題

2021-06-23 09:39:28 字數 972 閱讀 8179

rt:

乙個凸多邊形區域,有n條邊,將其劃分為三角形區域,問共有多少種分割方法。

1.我們從最簡單情況開始:n=3,f(3)=1;

2.當n=4,f(4)=2;

3.n邊時

我們從節點1開始考慮,要想分割成三角形區域,1不能和與它相鄰的點連線,所以1可以連線3,4,...,n-1;

假設1連線i,則分割成的兩個區域分別為i凸多邊形和n+2-i凸多邊形,即對於節點1,f1(n)=f(3)f(n+2-3)+f(4)f(n+2-4)+...+f(n-1)f(3);

n多邊形共n個點,對應於每個點有f1(n)中分割方法,總的分割方法為f(n)=nf1(n),但是每增加一條邊,其連線兩個點,所以在f(n)中有

一半是重複情況,所以最終的分割方法為:

擴充套件:與此類似的問題還有:

1.n個節點可以構造多少不同的二叉樹

(1)n=0時,f(0)=1;

(2)n=1時,f(1)=1;

(3)n=2時,f(2)=4;

(4) f(n)=n(f(0)f(n-1)+f(1)f(n-2)+...+f(i)f(n-1-i)+...+f(n-1)f(0));採用遞迴的思想,

f(i)f(n-1-i)中f(i)表示左子樹有i個節點可構造的二叉樹數目,f(n-1-i)表示右子樹有n-1-i個節點可構造的二叉樹數目;

兩者相乘表示左右分別為i,n-1-i個節點時候這個大的二叉樹的構造數目,又由於根節點的選擇有n中選擇方法,

所以可得總的構造方法數目如上式。

**

凸多邊形三角劃分

傳送門 loj公升級版 這道題雖然是基礎的區間dp,但是還是很值得一說的。我們用dp i j 表示第i個點到第j個點劃分的最大值。注意我們只列舉了兩個端點,第三個頂點是我們列舉的那個k,之後發現k這個頂點可以把整個區間分成兩塊,我們就可以進行區間dp了。只不過這道題要使用高精度。需要自己過載一下,對...

三角形 多邊形面積求法

三點順序 給三個點a,b,c的座標,判斷能否組成乙個三角形 若能,判斷a,b,c是順時針給出的還是逆時針給出的?利用向量叉積判斷是逆時針還是順時針。三角形兩邊的向量分別是 ab x2 x1,y2 y1 ac x3 x1,y3 y1 則ab ac x2 x1 y3 y1 y2 y1 x3 x1 利用右...

動態規劃 凸多邊形最優三角形剖分

通常,用多邊形頂點的逆時針序列表示凸多邊形,即p 表示具有n條v0v1 v1v2 vn 1vn的凸多邊形。其中,約定v0 vn。多邊形的三角剖分是指將多邊形分割成互不相交的三角形的弦的集合t。凸多邊形最優三角剖分問題 給定凸多邊形p 以及定義在由凸多邊形的邊和弦組成的三角形上的權函式w,要求確定該凸...