摘要: 两道搜索的题目,难度应该还差不多。。1254推箱子有一点很重要,如果判断cur是不是目标点的话会超时,需要判断next是不是目标点。即:while(!q.empty()){ cur=q.front(); q.pop(); if(cur==目标点) return 1; ............}这样会超时的,需要在把next加入队列的时候就判断它是不是目标点。,这点需要注意。。1175连连看需要用到两个visit数组, 因为访问到该节点时有可能是竖直方向过来的,也有可能是水平方向过来的,需要用两个visit数组,分别记录在两个方向上的最小值。贴下1175代码:# include<stdio 阅读全文
posted @ 2011-05-15 15:11 奋斗青春 阅读(383) 评论(0) 推荐(1) 编辑
摘要: 字典树+深搜。。这个题和hdu上的T9有点相似,不过应该比那个要稍难一点,这个需要处理?和*的情况,还要处理模式串相同的情况。。这是我们前几天比赛的题目,当时没有做出来,开始的时没有想起来用字典树,后来队友说用字典树就写了一下。写着写着感觉还可以,把?和*分别看成是next的第26和27,建树的时候很简单。之后查询的时候要考虑全面,对于*进行特殊的处理,它可能是一个字符也可能是多个字符也可能没有字符。。还有一点就是对于相同的模式串, 要标记一下。例如2 1abcabcabc刚开始的时候把temp->num=-1;Insert第0个模式串的时候把当前的temp->num=0;之后插入 阅读全文
posted @ 2011-05-15 14:59 奋斗青春 阅读(374) 评论(0) 推荐(0) 编辑