巧妙地计算几何 Dancing Stars on Me
来源:互联网 发布:数据恢复 被覆盖 恢复 编辑:程序博客网 时间:2024/06/02 21:56
留给学弟学妹们的题目
HDU - 5533
https://vjudge.net/contest/161167#problem/G
给你一些整数点,看这些点组成的多边形是否为正多边形
首先是东庆聚聚的解法
对于每个点找出离他距离最近的点即为邻边,然后对每两条边求向量的夹角(题目数据太水,不判也可以),还有所有边是否相等,判断是否是一个正多边形
方法2
东庆菊苣写了一个n^2的代码,无意中我们找到了o(n)的方法,首先求出这个多边形的重心,然后计算该点到每个顶点的距离是否相等,首先重心是不满足到各点距离相等这条性质的,如果满足一定是正多边形。
#include <iostream>#include<algorithm>#include<cstdio>#include<string>#include<cstring>#include<cstdlib>#include<vector>#include<cmath>#include<queue>#include<deque>#include<map>using namespace std;double f(double x1,double y1,double x2,double y2){ double s; s=sqrt((x1-x2)*(x1-x2)+(y1-y2)*(y1-y2)); return s;}int main(){ int t,n,g,i; double a[200],b[200]; double s; double c; double as,bs; scanf("%d",&t); while(t--) { scanf("%d",&n); as=bs=0; for(i=0;i<n;i++) { scanf("%lf%lf",&a[i],&b[i]); as+=a[i]; bs+=b[i]; } as=as*1.0/n; bs=bs*1.0/n; s=f(as,bs,a[0],b[0]); g=1; //printf("%.6lf\n",s); for(i=0;i<n;i++) { c=f(as,bs,a[i],b[i]); //printf("%.6lf\n",c); if(c!=s){g=0;break;} } if(g)printf("YES\n"); else printf("NO\n"); } return 0;}
方法三:终极解法:几十毫秒的复杂度
由于点给的是整数,所以只有正方形可以满足条件
然后对正方形的情况进行特判即可
阅读全文
0 0
- 巧妙地计算几何 Dancing Stars on Me
- HDU5533 Dancing Stars on Me(计算几何)
- HDU5533 Dancing Stars on Me(计算几何)
- hdu 5533 Dancing Stars on Me【计算几何】
- HDU 5533 Dancing Stars on Me 计算几何瞎暴力
- hdu5533 Dancing Stars on Me(几何水)
- HDU 5533 Dancing Stars on Me (2015ACM/ICPC亚洲区长春 &&计算几何)
- [hdu 5533][2015ACM/ICPC亚洲区长春站] Dancing Stars on Me 计算几何
- hdoj Dancing Stars on Me 5533 (数学几何&&技巧)
- HDU-5533 Dancing Stars on Me(几何/极点排序)
- HDU 5533 Dancing Stars on Me——几何
- hdu5533Dancing Stars on Me(简单计算几何)
- HDU5533Dancing Stars on Me(计算几何)
- HDU Dancing Stars on Me
- HDU5533 Dancing Stars on Me
- Dancing Stars on Me HDU
- hdu 5533 Dancing Stars on Me
- hdu 5533 Dancing Stars on Me
- 判断两个IP是否属于同一子网(没有判断掩码或ip是否合法,测试通过牛客)
- Centos rename default network interface
- SQL的若干问题总结
- PHP语言性能优化——少使用魔术方法
- POJ 2386--Lake Counting
- 巧妙地计算几何 Dancing Stars on Me
- 3.1 Linux中的文件IO (11、12节)
- BZOJ1922 洛谷P2446 [SDOI2010]大陆争霸
- 词频统计程序(C语言/C++)
- 图的遍历-广度优先和深度优先遍历
- Xcode 9 设置 iOS无线真机调试
- iOS 工程的警告修复
- 1004. Counting Leaves (30)
- POJ 1970 The Game 笔记