hash
AndyZhang
一些当前好走的路会越走越窄,而一些当前艰难的路却会越走越宽广。
展开
-
poj 2002 -- hash
题目:给你n个点,求能组成多少个正方形? 范围最大1000个点,时间3.5s,暴力枚举不用想肯定会超时。超时并不代表枚举行不通,实际上我们可以枚举两个点,然后在考虑下面的情况。 首先搞清楚两个问题,1、给你两个点,你能否求出用这两个点组成正方形一条边的其他两个点?2、如果给你一个点,你能否快速O(1)时间内告诉我这个点是否在给出的所有点当中。 如果你解决了上面两个问题,这个题目就好办了原创 2012-03-22 20:22:22 · 876 阅读 · 1 评论 -
poj 3432 --直接看上一篇2002吧。
同一个题目,不一样的形式,见上一篇2002的分析: #include using namespace std; struct Node { int x,y; Node * next; }node[40001]; int n; int cod[2005][2]; int Find(int x, int y) { int key = (x * x + y * y) % 40001; N原创 2012-03-22 22:25:05 · 748 阅读 · 0 评论