简直难到没朋友。
双向bfs + 剪枝。
剪枝策略:
对于2--5位置上的数,只有当光标在对应位置时通过swap ,up,down来改变,那么当当前位置没有达到目标状态时,left和right无意义。
好了,只剪掉这里就过掉了。。。
还有比较炫酷的方法实现枚举720种排列。。。然后状压什么的。。。功力不够完全看不懂。。。。
#include
#include
#include
#...
分类:
其他好文 时间:
2014-06-25 20:11:00
阅读次数:
162
题目大意:
求n边形的费马点,即找到一个点使得这个点到n个点的距离之和最小。
解题思路:
三角形也有费马点,三角形费马点是这样定义的:寻找三角形内的一个点,使得三个顶点到该点的距离之和最小。
三角形费马点的做法是:
(1)若有一个角大于120度,那么这个角所在的点就是费马点。
(2)若不存在,那么对于三角形ABC,任取两条边(假设AB、AC),向外做等边三角形得到C' 和 A' ,那么AA' 和CC' 的交点就是费马点。
那么对于这题n多边形,我采取的策略完全不同,采用了模拟退火的做法,这种做法相对比...
分类:
其他好文 时间:
2014-06-25 00:09:27
阅读次数:
319
Intersection
大意:给你一条线段,给你一个矩形,问是否相交。
相交:线段完全在矩形内部算相交;线段与矩形任意一条边不规则相交算相交。
思路:知道具体的相交规则之后题其实是不难的,但是还有个坑点就是题目里明明说给的是矩形左上角跟右下角的点,但实际上不是,需要重新判断一下...真坑。
struct Point
{
double x, y;...
分类:
其他好文 时间:
2014-06-24 23:49:48
阅读次数:
446
搜索这种东西只要写之前规划得当还是蛮顺手的。。
mark[x1][y1][x2][y2]表示小人在(x1,y1) 盒子在(x2,y2)这种状态是否到过。
剩下的就是优先队列 + bfs 了,另外开一个栈记录前驱以输出路径。
#include
#include
#include
#include
#include
#include
#include
#include
#incl...
分类:
其他好文 时间:
2014-06-24 23:18:20
阅读次数:
159
后缀自动机的简单运用....
Glass Beads
Time Limit: 3000MS
Memory Limit: 10000K
Total Submissions: 2352
Accepted: 1375
Description
Once upon a time there was a fa...
分类:
其他好文 时间:
2014-06-24 23:02:14
阅读次数:
199
期望dp。
dp[x][y]:已经遇到x个bug,y个sub,还需要的期望步数。则:
设:p1=x/n;p2=(n-x)/n;p3=y/s;p4=(s-y)/s;
dp[x][y]=p1*p3*(dp[x][y]+1)
+p2*p4*(dp[x+1][y+1]+1)
+p2*p3*(dp[x+1][y]+1)
+p1*p4*(dp[x][y+1]...
分类:
其他好文 时间:
2014-06-24 22:35:37
阅读次数:
229
poj 1180 Batch Scheduling(DP-单调性优化 斜率优化)...
分类:
其他好文 时间:
2014-06-24 22:20:38
阅读次数:
266
Space Ant
大意:有一只蚂蚁,每次都只向当前方向的左边走,问蚂蚁走遍所有的点的顺序输出。开始的点是纵坐标最小的那个点,开始的方向是开始点的x轴正方向。
思路:从开始点开始,每次找剩下的点中与当前方向所形成的夹角最小的点,为下一个要走的点(好像就是犄角排序,我不是很会),夹角就是用点积除以两个响亮的距离,求一下acos值。
之前一直用叉积做,做了好久阳历都没过,...
分类:
其他好文 时间:
2014-06-24 22:00:39
阅读次数:
274
Intersecting Lines
大意:给你两条直线的坐标,判断两条直线是否共线、平行、相交,若相交,求出交点。
思路:线段相交判断、求交点的水题,没什么好说的。
struct Point{
double x, y;
} ;
struct Line{
Point a, b;
} A, B;
double xmult(Point p1, Point...
分类:
其他好文 时间:
2014-06-24 21:16:40
阅读次数:
155
Treasure Hunt
大意:在一个矩形区域内,有n条线段,线段的端点是在矩形边上的,有一个特殊点,问从这个点到矩形边的最少经过的线段条数最少的书目,穿越只能在中点穿越。
思路:需要巧妙的转换一下这个问题,因为从一个点到终点不可能“绕过”围墙,只能穿过去,所以门是否开在中点是无所谓的,只要求四周线段中点到终点的线段与墙的最少交点个数即可。更进一步,实际上,只需判断四周围...
分类:
其他好文 时间:
2014-06-24 19:44:38
阅读次数:
196