题解 P1665 正方形计数

本题就是暴力枚举,但是有一种已知对角线的两个点,就可以判断另外两个点所在的公式,如下:

mid.x=(a[i].x+a[j].x)>>1;
mid.y=(a[i].y+a[j].y)>>1;
p1.x=mid.x-(mid.y-a[i].y);
p1.y=mid.y+(mid.x-a[i].x);
p2.x=mid.x+(mid.y-a[i].y);
p2.y=mid.y-(mid.x-a[i].x);

这里是利用了全等三角形的知识,将边进行翻转得出的,比较新颖,可以记记。

猜你喜欢

转载自www.cnblogs.com/Point-King/p/9883975.html