摘要:        
poj 3461题目大意:啥都不说了,就是一个模式匹配解决:KMP 刚开始一直wa,后来经同学提醒突然想到了溢出了,改了之后,一次就过了#include <iostream>#include <cstdio>#include <cstring>using namespace std;char s[1000005],t[10005];int next[10005],tlen,slen;void getnext(){ int i=1,j=0; next[1]=0; while(i<=tlen) {//本来的模式匹配 i < tlen 就结束了,但是为    阅读全文
        
            posted @ 2011-08-27 22:27
猿类的进化史
阅读(216)
评论(0)
推荐(0)
        
            
        
        
摘要:        
poj 2157题目大意:S是起点,G是 终点,"."是可走的路,“X”是不可走的路解决:BFS 本题有些难度,因为若为钥匙,将钥匙吃了之后,将这个点变为“.”,若为门,判断是否对应该门的钥匙都拿到手了,若都拿到手了,可以将这个门打开,即变为“.”,否则,等这个点周围的所有点都进队列后,若队列为空说明路都走过了,一定无法通过,若队列非空,说明还有其他的路可以走,将这个点入队列,一会等着把钥匙都得到了,在出队列判断。#include <iostream>#include <cstdio>#include <queue>using names    阅读全文
        
            posted @ 2011-08-27 11:38
猿类的进化史
阅读(365)
评论(0)
推荐(0)
        
            
        
        
摘要:        
宽度优先搜索bfs一、搜索的bfs,宽度优先搜索,一般用于求最短的得到到目的地的距离,有个起始点,先把这个起始点入队列,不要忘记将这个起始点标记为已经利用,不然会走回来的,然后是与这个起始点的周围的点的监测,若可以行的通,我们一一检测这些扩展出来的点,若是目的地就结束了,若不是目的地,将改点标记为已经利用,并将该点入队列。二、搜索的双向bfs,双向的bfs一般来说可以用单向解决,但是单向的效率上还是差了点,适合双向bfs的题目有一些共同特点:给出起始和最终状态,让求出一条从初始到末状态的最短路。双向bfs的实现过程: 从初始结点开始扩展,每扩展一层,在从目标节点按照产生系统相反的办法来扩展结点    阅读全文
        
            posted @ 2011-08-27 00:21
猿类的进化史
阅读(813)
评论(0)
推荐(1)
        
 
                    
                 
 
         浙公网安备 33010602011771号
浙公网安备 33010602011771号