ACM 搜索类解题报告
New_C_YUER
这个作者很懒,什么都没留下…
展开
-
poj 2312 soj(中大OJ) 1889
<br /> 这两类题目的共同解法都是用bfs+heap。求起点到终点的距离使用bfs+判重即可,但转移到不同的地区所要走的距离会变化时,一般的bfs很难有最优解甚至tle。因此,我们可以把每次从当前起点出发所到的地方的距离记录下来放入heap中,同时由于在bfs中每个地方所到的第一次距离是最短距离,因此每个地方不必进入两次,这里做好判重。<br /> 先是poj 2312的代码:<br /> #include<cstdio><br />#include<queue><br />usin原创 2011-05-17 12:43:00 · 1088 阅读 · 0 评论 -
hdu 3006
题目意思是给定一些集合,求这些集合所能组合的集合个数。 解法是dfs+剪枝+状态压缩hash。用二进制来保存该集合的元素情况,当dfs到不存在的集合情况时才继续搜索状态。 #include #include #in原创 2011-08-01 01:04:48 · 530 阅读 · 0 评论 -
hdu 2463
题目意思是,给定一个去掉了一些边的完全图,问从顶点1可以到达多少个顶点,顶点1不算。 解题方法是hash表+bfs。hash表第i个元素记录第i个结点不能到达的点。bfs时应先排除当前结点的不能到达结点,而可到达结点直接入队即可。 算法比较暴力,原创 2011-08-30 17:50:25 · 500 阅读 · 0 评论