HDU 5533 簡單計算幾何

2021-07-06 10:31:14 字數 847 閱讀 4119

題意:

給出來n個(n<=100)個點,問這些點能不能構成乙個正n凸多邊形。

思路:

復現的時候沒看,補題一下過了……

剛開始想用凸包套,後來抱著水一發的心態試了一下「如果乙個點能連線到其他點的最小邊和次小邊都相等且所有點的最小邊都相等就是yes」,然後就a了。

原始碼:

#include 

#include

#include

#include

#include

#include

#include

#include

using

namespace

std;

#define inf (1000000007)

const

int maxn = 100 + 5;

double x[maxn], y[maxn];

double dis(double x1, double y1, double x2, double y2)

double e1[maxn], e2[maxn];

int main()

else

if(e2[i] > temp)}}

int ok = 1;

for(int i = 0 ; i < n ; i++)

}sort(e1, e1 + n);

if(e1[0] != e1[n - 1]) ok = 0;

if(ok) printf("yes\n");

else

printf("no\n");

}return

0;}

hdu 3629 計算幾何

這道題想了很久都沒想出來什麼高效一點的方法,所以就在網上膜拜了大牛的思路。主要思想就是去掉點對之間的凸包,因為凸包一定是乙個三角形中包含乙個點,那我們就可以對於每個點判斷有多少個三角形能把它包含在內 判斷可以用逆向思維,就是所有三角形的個數減去有多少個三角形不能把它包含在內,然後通過極角排序來求出不...

HDU 4823(計算幾何)

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

hdu6242 計算幾何

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