UVA 11626 凸包(含共線)

2022-05-24 03:24:07 字數 863 閱讀 8432

題意:

給出凸包上的點(無序的),要求從左下角開始按順序逆時針輸出所有凸包上的點~

ps:凸包上的連續三個點存在共線。

題解:直接套用可以處理共線的凸包模板~

做這個題主要是為了驗證模板對不對~

view code

1 #include 2 #include 3 #include 4 #include 5 #include 6 #include 7

8#define n 222222910

using

namespace

std;

1112

struct

po13

p[n];

1617

intn,top,stk[n];

1819 inline bool cmp(const po &a,const po &b)

2024

25 inline void

read()

2635}36

37 inline long

long cross(po &a,po &b,po &c)

3841

42 inline long

long dot(po &a,po &b,po &c)

4346

47 inline void graham()//

帶共線的graham

4859

int tp=top;

60for(int i=n-1;i>=1;i--)

6165}66

67 inline void

go()

6873

74int

main()

75

凸包例題 UVa 10652

題意 有n塊矩形木板,你的任務是用乙個面積盡量小的凸多邊形把它們包起來,並計算出木板佔整個包裝面積的百分比。第一行輸入的是資料的組數,t 50 每組資料第一行為木板個數,n 600 以下n行每行五個實數,x,y,w,h,j。j是順時針旋轉的角度。sample input 4 7.5 6 3 0 8 ...

UVA 10652 凸包簡單問題

題目鏈結 題意 見訓練指南272頁 include include include include include include include include include include define mm a memset a,0,sizeof a typedef long long ll...

UVa 11168 Airport凸包與直線方程

題意 給出平面上的n個點,求一條直線,使得所有點在該直線的同一側且所有點到該直線的距離和最小,輸出該距離和。思路 要使所有點在該直線的同一側,明顯是直接利用凸包的邊更優。所以列舉凸包的沒條邊,然後求距離和。直線一般式為ax by c 0.點 x0,y0 到直線的距離為 fabs ax0 by0 c ...