题意比较简单,就是在一堆点用找能组成正方形的点,看能找出多少组。
开始没思路,怕超时。上网找了找,基本思路是枚举两个点,查找另外两个看存不存在。这个就是简单的几何,因为点是排过序的,我们只需要找到两个点在左面(如果y值一样就在下面)的情况,但这样还会多算一遍,因为一个正方形要有两条边在左面(或一条左一条下),所以要除以2。
查找有用二分查找的,有用hash的。因为stl里有二分查找函数,所以好写些。
时间1.5s多
刚才突然想到用set写,结果用时2.6s多……
后来发现可以一个正方形只算一次,时间降到了700ms+