hdu 3694 費馬點的應用

2022-05-24 11:09:09 字數 1179 閱讀 5234

題目任意給出四個點,求出到這四個點的距離之和最小的點到這四個點的距離

若四邊形為凸的,費馬點為對角線交點,否則為凹的那點

證明很簡單,把要證明的那點與其他頂點連起來,再任取一點,證明這點到四個頂點的距離比原來那點長即可

view code

#include

#include

#include

const

double esp=1e-8;

struct pointa[10];

struct line

;double min(double a,double b)

int dblcmp(double d)

double cross(point a, point b, point c)

void lineintersect(line l1,line l2, double &x, double &y)

void lineform(double x1,double y1,double x2,double y2, line &temp)//

ax+by+c=0;

double dit[5];

int main()

if(!flag)

break;

memset(dit,0,sizeof(dit));

for(i=1;i<=4;i++)

}line temp1,temp2;

double fx,fy;

if(cross(a[1],a[2],a[3])*cross(a[1],a[2],a[4])<0)

else

if(cross(a[1],a[3],a[4])*cross(a[1],a[3],a[2])<0)

else

if(cross(a[1],a[4],a[3])*cross(a[1],a[4],a[2])<0)

ans=0;

fermat.x=fx;fermat.y=fy;

for(i=1;i<=4;i++)

double tans=min(min(dit[1],dit[2]),min(dit[3],dit[4]));

double ret=min(tans,ans);

printf("

%.4lf\n

",ret);

}return

0;}

費馬小定理 hdu 4196

據說這題非常卡時間 題目 用不大於n內的所有數去組成乙個盡可能大的完全平方數。完全平方數,顯然是所有的素因子的個數都是偶數,便取n!的所有素因子的個數,便 有了初步想法,算出n!的什麼素因子個數,奇數的就捨去乙個,偶數的全要,然後再全部乘起來,可是因為規模很大,即使快速冪乘也是會超時。於是考慮把n!...

費馬小定理 hdu 1098

題意 給出k。求使得f x 5 x 13 13 x 5 k a x對任意x都為65的倍數的a的最小值。mark 65 13 5。要使f x 是65的倍數,只需要f x 是5和13的倍數即可。先來分析13的。若f x 是13的倍數,有5 x 13 13 x 5 k a x 13 0,其中13 x 5項...

hdu1098 費馬小定理

題意 給出k。求使得f x 5 x 13 13 x 5 k a x對任意x都為65的倍數的a的最小值。mark 65 13 5。要使f x 是65的倍數,只需要f x 是5和13的倍數即可。先來分析13的。若f x 是13的倍數,有5 x 13 13 x 5 k a x 13 0,其中13 x 5項...