对于每条对称轴,某个点有两种情况:要不然在对称轴上,要不然在对称轴一侧。不妨依此进行分类讨论。
考虑11号点,如果它不在对称轴上直接枚举它的对称点。如果它在对称轴上,考虑22号点。如果它也在对称轴上,这条对称轴就确定了。否则我们枚举22号点的对称点,注意这时候得到的对称轴要满足11号点在对称轴上。

#include<cstdio>
#include<algorithm>
#include<cmath>
#include<set>
using namespace std;
const double eps=1e-8;
const int maxn=1010,p=131,mod=1000007;
int cmp(double x)
{if (x>eps) return 1;if (fabs(x)<=eps) return 0;return -1;
}
struct Vector
{double x,y;void rd(){scanf("%lf%lf",&x,&y);}bool operator < (const Vector &v) const{int c=cmp(x-v.x);if (c==0) return cmp(y-v.y)==-1;return c==-1;}Vector operator + (const Vector &v) const{return (Vector){x+v.x,y+v.y};}Vector operator - (const Vector &v) const{return (Vector){x-v.x,y-v.y};}Vector operator * (const double &k) const{return (Vector){x*k,y*k};}Vector operator / (const double &k) const{return (Vector){x/k,y/k};}
}a[maxn];
typedef Vector Point;
double dot(Vector v,Vector u)
{return v.x*u.x+v.y*u.y;
}
double cross(Vector v,Vector u)
{return v.x*u.y-v.y*u.x;
}
double len(Vector v)
{return sqrt(dot(v,v));
}
Point midpoint(Point p,Point q)
{return (p+q)/2;
}
Vector normal(Vector v)
{return (Vector){-v.y,v.x};
}
struct Line
{Point p;Vector v;
};
bool online(Point p,Line l)
{return cmp(cross(p-l.p,l.v))==0;
}
double dis(Point p,Line l)
{return fabs(cross(p-l.p,l.v))/len(l.v);
}
Line perbi(Point p,Point q)
{return (Line){midpoint(p,q),normal(p-q)};
}
Point symm(Point p,Line l)
{Vector v=normal(l.v);v=v/len(v);v=v*(2*dis(p,l));Point q1=p+v,q2=p-v;if (cmp(dot(q1-p,l.p-p))==1) return q1;return q2;
}
set<Vector> s;
int n;
int check(Line l)
{for (int i=1;i<=n;i++)if (!s.count(symm(a[i],l))) return 0;return 1;
}
int main()
{//freopen("b.in","r",stdin);Line l;int ans=0;scanf("%d",&n);for (int i=1;i<=n;i++) a[i].rd(),s.insert(a[i]);for (int i=2;i<=n;i++)if (check(perbi(a[1],a[i]))) ans++;if (check((Line){a[1],a[2]-a[1]})) ans++;for (int i=3;i<=n;i++){l=perbi(a[2],a[i]);if (online(a[1],l)&&check(l)) ans++;}printf("%d\n",ans);
}

bzoj2592 Symmetry相关推荐

  1. 【 FPGA 】FIR 滤波器结构和优化(一)之滤波器的对称性(Filter Symmetry)

    这部分描述滤波器以及如何在FIR滤波器的IP核设计中优化它们的使用. 滤波器的对称性(Filter Symmetry) 很多滤波器的单位脉冲响应拥有明显的对称性,通常可以利用这种对称性来最小化算术要求 ...

  2. Fast Radial Symmetry Transform/快速径向对称变换

    本文主要介绍一下利用径向变换进行特征提取的方法和原理,基本原理主要来自Gareth Loy and Alexander Zelinsky的A Fast Radial Symmetry Transfor ...

  3. Axial symmetry FZU - 2035

    Axial symmetry FZU - 2035 题意: 给一个多边形,边平行于x轴或者y,问是否存在对称轴 题解: 将每个点的坐标,以及每个边的中点的坐标,按照顺时针顺序存入,多边形的对称轴一定穿 ...

  4. [有限元] Ansys Workbench 在对称问题中使用 Symmetry Region

    问题: 试生成图1所示双孔板拉伸问题恰当的有限元网格(L=1000mm),计算孔边最大应力σmax,绘出变形及应力云图.并通过网格细分说明结果的精度. 1.修改模型 原模型 分割后模型 2.添加对称. ...

  5. symmetry methods for differential equations,exercise 1.4

    tex文档: 1 \documentclass[a4paper, 12pt]{article} % Font size (can be 10pt, 11pt or 12pt) and paper si ...

  6. signature=fc89d4352b6699754c14ce282ec75426,Broken chiral symmetry on a null plane

    摘要: Abstract On a null-plane (light-front), all effects of spontaneous chiral symmetry breaking are ...

  7. 深度学习自学(三十九):SRN骨架检测 Side-output Residual Network for Object Symmetry Detection in the Wild

    北京大学陈杰老师论文阅读报告:SRN 骨骼检测 SRN 阅读报告 参考论文:Side-output Residual Network for Object Symmetry Detection in ...

  8. 第14章-1~3 法兰接头预紧力密封接触分析周期对称 (介绍、局部柱坐标系建立、周期对称的设置) Beta选项打开、 cyclic region、symmetry

    第14章-1~3 法兰接头预紧力密封接触分析周期对称 (介绍.局部柱坐标系建立.周期对称的设置) Beta选项打开. cyclic region.symmetry 冬 泳 怪 鸽 2020-08-31 ...

  9. 3 Symmetry Group

      前文用旋转讲述了等边三角形的旋转,由此引入了循环群.在很多教材中讲群论是研究对称的学科,群是作用的集合.那好,旋转的本质是中心对称,但是对称还有轴对称啊.再以三角形为例子,研究三角形的所有对称. ...

最新文章

  1. 时间序列、时间序列分析、时间序列效应分解、平稳时间序列、AIC和BIC
  2. SwiftUI之深入解析如何创建列表展示视图和列表如何导航跳转新页面
  3. 仿Office的程序载入窗体
  4. Entity Framework 普通操作(复习用)——感觉有点不对,需要撸代码验证
  5. c语言 原码反码和补码
  6. Python-datetime模块
  7. 初学JAVA随记——循环语句的几个要点
  8. jenkins 设置 gitlab web hooks
  9. 【转】requests、BeautifulSoup使用总结
  10. 独家深访:腾讯变革150天全记录
  11. 粮食在计算机中的应用,计算机监控系统在粮食仓储中的应用
  12. 有向图的邻接矩阵的平方运算的含义
  13. CDC Schemes
  14. Android开发—三种动画实现原理及使用
  15. 「镁客·请讲」七鑫易维黄通兵:追求更自然的人机交互,眼球追踪技术正在路上...
  16. 小型企业办公耗材库存管理系统的设计与实现(一)
  17. 国产OGRE商业游戏
  18. 关于stm32f4xx的片上外设I2C模块用作主模式下BUSY位总是置1的解决方法
  19. ionic2实现通讯录,联系人搜索功能
  20. Vue文件上传问题合集

热门文章

  1. navicate免费软件
  2. 起名~Java程序源码。
  3. Microsoft Toolkit - Official KMS Solution for Microsoft Products
  4. 专业排名全美top6|建筑学硕士学历CSC获批顺利赴美
  5. 漫画叙述B+树和B-树,很值得看!
  6. java钟表时针分针夹角计算器
  7. 利用python爬取空气质量数据,并用Matplotlib模块画出分析图
  8. SQLServer设置单词首字母大写
  9. 新兴产业链 车联网的网络安全和数据安全基本要求
  10. 国外最流行的几个外包接活平台简要介绍