搜索
sumi
无冥冥之志者无昭昭之明 无惛惛之事者无赫赫之功!
有问题欢迎大家联系我,扣扣2513822561
展开
-
HDU 1072 Nightmare (BFS 状态的设定:参考了别人的代码)
#include#include#include#includeusing namespace std;int si,sj,di,dj,T,n,m,flag;int maze[10][10],hash[10][10];int move[4][2]={{1,0},{-1,0},{0,1},{0,-1}};struct node{int x,y,t,step;}原创 2011-11-29 15:12:36 · 510 阅读 · 0 评论 -
hdu1059 Dividing 搜索
题目分析:一直没想的好的好的状态设置....这个真的不会写,还是有空多看看深搜吧............//*****#include#includeusing namespace std;int halfvalue;int a[7],sum,SUM,flag;void dfs(int v,int pre)//用当前的所组成的价值当做一个状态量{原创 2012-05-08 17:15:06 · 754 阅读 · 1 评论 -
zoj 3631 Watashi's BG(搜索)
题目分析:总的费用m一定,给出n天,给出n天 每一天的花费,让你求出能凑出的最大的报销额 ,不能超过m,用01背包铁定超时,m先排序,排序后,再搜索,不然会超时.....参考的大牛的代码:http://blog.sina.com.cn/s/blog_6fc8480501018m2t.html代码:#include#include#includeusing namespace原创 2012-07-30 16:29:40 · 1219 阅读 · 0 评论 -
简单的BFS 和康托展开式的应用
Description:给n的某种排列和k,问最少次操作可以将n的这个全排列变成1~n。每次操作可以选择连续k个数,然后将它们翻转。Input第一行输入一个数T,表示测试数据个数对于每组数据,第一行输入两个数n,k,然后第二行输入n个数,为1~n的某种排列。数据范围:(1Output对于每组数据输出一个数,表示最少的操作次数,如果无法完成,输出-1.Samp原创 2012-11-27 16:31:48 · 586 阅读 · 0 评论 -
hdu 4478 Where is the King (BFS)
题目分析:给一个n*n的矩阵,.表明可以走,#表明不可以走,给起始位置(x,y),king可以走8个方向,求在t s时,king可能在多少个位置上注意:1.如果king在第ts到达某个位置 那么在t+2s 肯定还可以到达这个位置,那么对于每个位置可能到达的位置,可能有个到达此位置时的最小偶数even时间,可能有个到达此位置时最小奇数odd时间,所以对于每一个位置,设置两个变量记录这两个值,之后原创 2012-12-03 21:51:03 · 727 阅读 · 0 评论 -
hdu 1253 胜利大逃亡 BFS
题目分析:{1,0,0}写成{0,1,0},,,囧呀 找了半天错误,,,,,#include#include#includeusing namespace std;int maze[55][55][55],k,a,b,c,t,flag,ans;int move[6][3]={{0,0,1},{0,1,0},{1,0,0},{0, 0,-1},{0,-1,0},{-1,0,0}原创 2012-04-25 20:27:06 · 815 阅读 · 0 评论 -
hdu 1495 非常可乐(简单的的bfs)
代码有错误 ,过不了,肯跌 还没检查出来#include#include#include#includeusing namespace std;struct node{ int bottle[3]; int t;};int N,M,S;int vis[101][101][101];int main(){ while(scanf("%d %d %d"原创 2012-12-07 18:36:02 · 1035 阅读 · 1 评论 -
hdu 1026 Ignatius and the Princess I(简单的bfs+输出路径)(WA的代码)
肯跌呀,过不了,自己想的样例和题目给的样例都能过,求大神 给指出wa在那里?题目分析:Ignatius 在(0,0),princess在(N-1,M-1),每个格子可能是'X','.'或者是数字time(1-9),如果是数字则说明要消耗time时间在这个格子,每走一个格子需要多长时间思路:bfs,用一个二维数组vis[i][j]记录走到(i,j)需要的时间,如果以前已经走到,再次走到时比v原创 2012-12-26 09:06:12 · 924 阅读 · 1 评论 -
hdu 1728 逃离迷宫 BFS
DFS --TLE了,,,DFS的代码:#include#include#includeusing namespace std;char maze[110][110];int vis[110][110];int dir[4][2]={{-1,0},{0,1},{1,0},{0,-1}};int m,n,k,x1,y1,x2,y2,flag,direction;bool IN原创 2012-12-30 20:57:39 · 616 阅读 · 0 评论 -
八数码的八境界
八数码的八境界转自:http://www.cnblogs.com/goodness/archive/2010/05/04/1727141.html 研究经典问题,空说不好,我们拿出一个实际的题目来演绎。八数码问题在北大在线测评系统中有一个对应的题,题目描述如下:EightTime Limit: 1000MS Memory Limit: 65536K Special J转载 2012-04-18 16:59:35 · 750 阅读 · 0 评论 -
hdu 1084 最大报销额(浙大研究生复试题)(01背包的变形)
题目分析:这道题就是求最大报销的钱数,相当于01背包,若能报销的单子时,在当前状态下要么选择这张单子,要么不选择,其状态方程为dp[j]=max(dp[j],dp[j-1]+money[i]);即报销j个发票所得到的最大经费,可以第j个是报销的,也可以是第j个不报销而最大经费是由前j-1个发票加上另外第i个发票的报销数额。注意:1.每个物品的最大报销额不能超过600.00,原创 2012-04-25 11:47:45 · 693 阅读 · 0 评论 -
pku上一些经典的搜索题
深度优先搜索 (poj2488,poj3083,poj3009,poj1321,poj2251)广度优先搜索(poj3278,poj1426,poj3126,poj3087.poj3414)简单搜索技巧和剪枝(poj2531,poj1416,poj2676,1129)搜索的技巧和优化 (poj3411,poj1724)记忆化搜索(poj3373,poj1691)较麻烦的搜索题目转载 2012-02-04 19:17:03 · 664 阅读 · 0 评论 -
搜索题目推荐及解题报告(转)
格式说明:题目名后面列出个人此题的大致难度(对菜鸟而言)POJ 1069 -The Bermuda Triangle(难)http://acm.pku.edu.cn/JudgeOnline/problem?id=1069题意:用给定三角型填充六边形解法:此题的思想上精华在于坐标化ps:传说中比较bt,确实比较bt,主要很容易写错,我ac了,但程序没完全对....PO转载 2012-04-12 08:49:13 · 824 阅读 · 0 评论 -
八数码问题有解的条件及其推广
ZJU2004 Commedia dell'arte 八数码问题有解的条件及其推广题目描述:此题是经典的八数码问题的推广。一个M×M×M的立方体,原始状态一次给方块编号1 ~ M^3-1,最后一个格子空缺。现在给定任意一个方块的排列,问能否通过合法变换回到原始状态。解题思路:题目要求一个三维空间的N数码问题,问是否有解。我们先从简单的情况考虑。>从八数码问题入手我们首先从经转载 2012-04-13 14:14:45 · 1513 阅读 · 1 评论 -
hdu 1016 Prime Ring Problem(DFS +回溯法)
题目分析:#include#include#include#includeusing namespace std;int a[25],vis[25],n,cnt;bool isprime(int x){ for(int i=2;i<=(int)sqrt(x+0.5);i++) if(x%i==0) return false; return true;}原创 2012-04-25 20:29:16 · 512 阅读 · 0 评论 -
hdu1010 Tempter of the Bone(DFS)
题目分析:#include#includeusing namespace std;char maze[10][10];int move[4][2]={{1,0},{0,1},{0,-1},{-1,0}};//int vis[10][10];int n,m,t,x1,y1,x2,y2,flag;void DFS(int x,int y,int r)//如何防止死循环{原创 2012-04-25 20:33:38 · 438 阅读 · 0 评论 -
poj 3278 Catch That Cow(bfs)
题目分析:很水的 BFS ,注意边界#include#include#include#includeusing namespace std;const int maxn=2100000;int a[maxn],f[maxn];int main(){ int n,k; while(scanf("%d %d",&n,&k)!=EOF) { int i,j,cur原创 2012-04-25 20:35:11 · 356 阅读 · 0 评论 -
hdu 1548A strange lift1(简单的BFS)
题目分析:很水的BFS,开一个标记数组把到过的电梯,标记下来,防止重复走#include #include #include #include using namespace std; int N, A, B; int a[205]; bool map[205], flag; struct node { int x,原创 2012-04-25 20:32:09 · 531 阅读 · 0 评论 -
hdu 1881 毕业bg (01背包变形)浙大计算机研究生复试上机考试-2008年
题目分析:题目搞不懂呀,,参考了,http://blog.csdn.net/kyle_once/article/details/6198468,才弄明白,一直把离校时间,理解错了....吧bg当做物品,欢乐度当做价值,持续时间当做体积,离校时间当做容量,放入顺序是有顺序的,要按离校时间升序排序,定义dp[i][j],为吧前件bg安排到j时间内,所获得的最大欢乐度,dp[i][j]=ma原创 2012-04-26 13:06:48 · 1116 阅读 · 0 评论 -
hdu 2757 Ocean Currents(BFS 比较简单的)
题目分析: r行,c列的矩形,每个方格内有0-7七个数字,分别代表 north, south, east, west, northeast, northwest, southeast, southwest. 七个方向,一艘船 走向它的格子所表示的方向 不消耗能量,否则消耗一个能量,从起点到终点要消耗的最小能量,分析:每个格子可以达到的而且不消耗能量的格子,同属一个集合,一次全把它们加到队列里,原创 2012-12-21 19:39:15 · 583 阅读 · 0 评论