摘要: 刚开始知道要用记忆化搜索,然而自己仍然去试了一下暴力DFS,TLE之后我就死心了,就利用记忆化搜索,就是用一个标记hash标记已经拜访过的;#include<stdio.h>#include<stdlib.h>#include<string.h>char num1[224],num2[224],num3[424];int len1,len2,len3,flag,hash[224][224];void DFS( int a,int b,int c ){ if( len3==c ) { flag=1; return ; } if(... 阅读全文
posted @ 2011-09-17 19:41 wutaoKeen 阅读(181) 评论(0) 推荐(0) 编辑
摘要: 该题是一道记忆化搜索,这题与HDU 1248 漫步校园是一样的,这里不解释了。#include<stdio.h>#include<stdlib.h>#include<string.h>const int inf=0x7fffffff;struct t{ int x,y; }q[1000024];int n,m,hash[1024],dis[1024],map[1024][1024];void empty(){ for( int i=0;i<=n;i++ ) { hash[i]=0; dis[i]=inf; ... 阅读全文
posted @ 2011-09-17 16:44 wutaoKeen 阅读(148) 评论(0) 推荐(0) 编辑
摘要: 刚开DIY做这题时以为就是一个简单的BFS题目,后来才知道这是一题记忆化搜索题目,用一个简单的公式就是:记忆化搜索=搜索形式+动态规划的思想;这题的思想就是:先用BFS求出n到任何一点的最短距离(跟迪杰斯特拉一样),这就是利用了动态规划的思想;然后,再用DFS进行搜索,这里就要就行记忆化的搜索,具体就是,如果到该点的最短距离的路的条数已经知道那么就不需要再往下求了。#include<stdio.h>#include<stdlib.h>#include<string.h>constint inf=0x7fffffff;struct node{ int x,y; 阅读全文
posted @ 2011-09-17 09:58 wutaoKeen 阅读(421) 评论(0) 推荐(0) 编辑