題目:
題意:
判斷能否用一條直線分開兩類點。
分析:
svm?(誤
兩類點分別求凸包,判斷乙個凸包上是否有點在另乙個凸包內部或邊界上。
**:
#include using namespace std;
typedef long long llong;
const int tmax=105;
struct point
point operator +(point p)
point operator -(point p)
bool operator<(point p)
int k=m;
for(i=n;i>=1;i--)
return m;
}bool check(point a,point *p,int n)
else if(a1<0)
r=mid-1;
else l=mid+1;
}return false;
}int main()
num0[1]=convexhull(data[0],num0[0],aim[0]);
num1[1]=convexhull(data[1],num1[0],aim[1]);
bool ok=false;
for(i=1;i<=num0[1];i++)
ok|=check(aim[0][i],aim[1]+1,num1[1]);
for(i=1;i<=num1[1];i++)
ok|=check(aim[1][i],aim[0]+1,num0[1]);
if(!ok) printf("successful!\n");
else printf("infinite loop!\n");
}return 0;
}
hdu1392凸包求周長
浩哥告訴說要用atan掃點而且只用掃瞄一遍就好了 我用兩都掃的方法不知道為什麼錯了好多次,求高手指教!下面是我用tan排序ac的 include include include define max 1000 define eps 1e 12 using namespace std struct p...
hdu 5033 單調棧 凸包
將人看成高度為 的樓,與樓混在一起按照橫座標排序,用單調棧正著掃一遍,再反著掃一遍,分別求出豎直線兩側的高度 出棧的條件 當前樓的高度比棧頂的樓高 為了維護凸包的性質,若棧頂和之前樓的斜率大於棧頂和當前樓的斜率 均為絕對值 出棧 如果當前樓是人,向前出棧直至找到棧頂樓與人夾角大於之前的樓與人的夾角 ...
hdu 1616 計算幾何 凸包
題意是乙個世界有許多個國家,每個國家有n個建築,包括乙個發電站和n 1個用電建築,所有建築圍成的凸包就是這個國家的面積。一枚飛彈如果在乙個國家之內 則可以使這個國家停電。step 1 求出每個國家的凸包 我用水平排序就是各種坑,改叉乘排序才過,主要是後面求面積的時候需要這個叉乘排序的資訊 step ...