导航网站教程/百度推广怎么做效果好
https://vjudge.net/problem/CodeForces-1300D
题目大意:题面太长不想放。大概意思就是说给一个凸多边形PPP,P(x,y)P(x,y)P(x,y)表示将PPP沿着向量(x,y)(x,y)(x,y)的方向平移得到的凸多边形,如果P(x,y)P(x,y)P(x,y)涵盖了点(0,0)(0,0)(0,0)(边界上也算),那么这个点就属于TTT,问TTT与PPP是否是相似的。
思路:大胆猜想,凸多边形PPP是中心对称的话结果就是相似的。不会证明,贴一个官方题解。
#include<bits/stdc++.h>
#define INF 0x3f3f3f3f
using namespace std;
typedef long long ll;const int maxn=1e5+5;int n;
ll x[maxn],y[maxn];int main()
{scanf("%d",&n);for(int i=1;i<=n;i++)scanf("%lld %lld",&x[i],&y[i]);if(n&1)printf("NO\n");else{int nn=n>>1;bool flag=1;int dx,dy;dx=x[1]+x[nn+1],dy=y[1]+y[nn+1];for(int i=2;i<=nn&&flag;i++)if(x[i]+x[nn+i]!=dx||y[i]+y[nn+i]!=dy)flag=0;printf("%s\n",flag?"YES":"NO");}return 0;
}