hdu 3629 計算幾何

2021-06-20 19:36:42 字數 389 閱讀 8207

這道題想了很久都沒想出來什麼高效一點的方法,所以就在網上膜拜了大牛的思路。

主要思想就是去掉點對之間的凸包,因為凸包一定是乙個三角形中包含乙個點,那我們就可以對於每個點判斷有多少個三角形能把它包含在內

判斷可以用逆向思維,就是所有三角形的個數減去有多少個三角形不能把它包含在內,然後通過極角排序來求出不包含這個點的三角形個數

不得不說atan2函式挺好用的、、、、、、好吧先把**貼乙份。。有空的時候再來看看

#include#include#include#include#include#includeusing namespace std;

#define eps 1e-8

long long c(int a,int b)

// for(int i=0;i

HDU3629 凸四邊形的個數

題目 題意 平面上給n個點,問有多少個凸四邊形?分析 對於每個點,凹四邊形的個數等於 c n 1,3 在這個點同一側三點構成的三角形的個數。對於凸多邊形的乙個頂點,其他頂點必然在穿過這個頂點的直線的同側。算極角時,如果是負數 pi 0 就把它加上2 pi,這樣就把角度統一到了0 2pi,另外,向這題...

HDU 4823(計算幾何)

魔法師百小度也有遇到難題的時候 現在,百小度正在乙個古老的石門面前,石門上有一段古老的魔法文字,讀懂這種魔法文字需要耗費大量的能量和大量的腦力。過了許久,百小度終於讀懂魔法文字的含義 石門裡面有乙個石盤,魔法師需要通過魔法將這個石盤旋轉x度,以使上面的刻紋與天相對應,才能開啟石門。但是,旋轉石盤需要...

hdu6242 計算幾何

題意 給你n個點,要求找到乙個點,和乙個圓心,使得有n 2向上取整個點在圓上,一定有滿足條件的點存在 題解 既然一定有解,而且圓上有n 2向上取整個點,那麼我們可以通過隨機來找三個點來確定乙個圓心,和半徑,可以看出這三個點在圓上的概率是很大的,注意要特判點數為1,2,3,4的情況 ps 一開始想的是...