2012年5月18日
摘要: 给定两个点:typedef struct { double x, y;} Point;Point A1,A2,B1,B2;首先引入两个实验:a.快速排斥实验设以线段A1A2和线段B1B2为对角线的矩形为M,N;若M,N 不相交,则两个线段显然不相交;所以:满足第一个条件时:两个线段可能相交。b.跨立实验如果两线段相交,则两线段必然相互跨立对方.若A1A2跨立B1B2,则矢量( A1 - B1 ) 和(A2-B1)位于矢量(B2-B1)的两侧,即(A1-B1) × (B2-B1) * (A2-B1) × (B2-B1)<0。上式可改写成(A1-B1) × (B 阅读全文
posted @ 2012-05-18 20:35 有间博客 阅读(4418) 评论(0) 推荐(1) 编辑
摘要: 典型的BFS加状态的问题,题目很好理解,只不过打印路径这里困扰了我许久。不过经过不懈的努力终于AC了。 泪奔。。题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1026存在的问题:1、这道BFS可以不需要做标记,而我之前从来没接触过,所以理解起来较慢。2、遇到了打印路径的题就懵了,怎么去打印路径困扰了很久。3、老问题,BFS和DFS的精髓没理解透。小技巧:1、直接搜索如果Mintime[xx][yy] > Mintime[x][y] + w 的话则替代,而且需要把整个迷宫都搜索一遍。。2、由于是搜索整个迷宫,所以方向数组的定义可以为:cons 阅读全文
posted @ 2012-05-18 11:52 有间博客 阅读(217) 评论(0) 推荐(0) 编辑