POJ2002Squares】的更多相关文章

链接 可以枚举两个点,因为是正方形两外两点可以由已知求出,据说可以根据三角形全等求出下列式子,数学渣不会证... 已知: (x1,y1)  (x2,y2) 则:   x3=x1+(y1-y2)   y3= y1-(x1-x2) x4=x2+(y1-y2)   y4= y2-(x1-x2) 或 x3=x1-(y1-y2)   y3= y1+(x1-x2) x4=x2-(y1-y2)   y4= y2+(x1-x2) 然后就可以hash或者二分做了,这里只用hash做的 应该算是简单的hash解决冲…
http://poj.org/problem?id=2002 题意 : 就是给你很多点的坐标,任取四个,看能组成多少个不同的正方形,相同的四个点,不同顺序构成的正方形视为同一正方形. 思路 : 就是一个简单的枚举,但是你要是四个点四个点的枚举因为数据量到1000,所以肯定会超时的,就两个点两个点枚举,再去判断另外两个点是否存在就可以了,百度了才知道有这样一个公式,知道两个点(x1,y1)(x2,y2) x3=x1+(y1-y2)   y3= y1-(x1-x2) x4=x2+(y1-y2)  …
//突然发现好弱,好多基础的算法竟然都不会,哈希这种经典的算法,我貌似基本没怎么做过相关的题0.0 POJ2002 题意:给n个点,问有多少组四个点能组成正方形. 题解:枚举两个点,通过公式算出另外两个点,然后通过哈希查找另外两个点存不存在. 公式是抄网上的,哈希直接用了vector存的,反正时限3500ms 点的哈希就是(x^2+y^2)%MOD AC代码: /************************************** Memory: 924 KB Time: 969 MS…