
搜索
sumi
无冥冥之志者无昭昭之明 无惛惛之事者无赫赫之功!
有问题欢迎大家联系我,扣扣2513822561
展开
-
HDU 1072 Nightmare (BFS 状态的设定:参考了别人的代码)
#include #include #include #include using 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 · 519 阅读 · 0 评论 -
hdu1059 Dividing 搜索
题目分析:一直没想的好的好的状态设置....这个真的不会写,还是有空多看看深搜吧............ //***** #include #include using namespace std; int halfvalue; int a[7],sum,SUM,flag; void dfs(int v,int pre)//用当前的所组成的价值当做一个状态量 {原创 2012-05-08 17:15:06 · 760 阅读 · 1 评论 -
zoj 3631 Watashi's BG(搜索)
题目分析:总的费用m一定,给出n天,给出n天 每一天的花费,让你求出能凑出的最大的报销额 ,不能超过m,用01背包铁定超时,m 先排序,排序后,再搜索,不然会超时..... 参考的大牛的代码:http://blog.sina.com.cn/s/blog_6fc8480501018m2t.html 代码: #include #include #include using namespace原创 2012-07-30 16:29:40 · 1231 阅读 · 0 评论 -
简单的BFS 和康托展开式的应用
Description: 给n的某种排列和k,问最少次操作可以将n的这个全排列变成1~n。 每次操作可以选择连续k个数,然后将它们翻转。 Input 第一行输入一个数T,表示测试数据个数 对于每组数据,第一行输入两个数n,k,然后第二行输入n个数,为1~n的某种排列。 数据范围:(1 Output 对于每组数据输出一个数,表示最少的操作次数,如果无法完成,输出-1. Samp原创 2012-11-27 16:31:48 · 600 阅读 · 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 · 736 阅读 · 0 评论 -
hdu 1253 胜利大逃亡 BFS
题目分析:{1,0,0}写成{0,1,0},,,囧呀 找了半天错误,,,,, #include #include #include using 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 · 823 阅读 · 0 评论 -
hdu 1495 非常可乐(简单的的bfs)
代码有错误 ,过不了,肯跌 还没检查出来 #include #include #include #include using 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 · 1049 阅读 · 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 · 930 阅读 · 1 评论 -
hdu 1728 逃离迷宫 BFS
DFS --TLE了,,,DFS的代码: #include #include #include using 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 · 622 阅读 · 0 评论 -
八数码的八境界
八数码的八境界 转自:http://www.cnblogs.com/goodness/archive/2010/05/04/1727141.html 研究经典问题,空说不好,我们拿出一个实际的题目来演绎。八数码问题在北大在线测评系统中有一个对应的题,题目描述如下: Eight Time Limit: 1000MS Memory Limit: 65536K Special J转载 2012-04-18 16:59:35 · 758 阅读 · 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 · 704 阅读 · 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 · 672 阅读 · 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 · 838 阅读 · 0 评论 -
八数码问题有解的条件及其推广
ZJU2004 Commedia dell'arte 八数码问题有解的条件及其推广 题目描述: 此题是经典的八数码问题的推广。一个M×M×M的立方体,原始状态一次给方块编号1 ~ M^3-1,最后一个格子空缺。现在给定任意一个方块的排列,问能否通过合法变换回到原始状态。 解题思路: 题目要求一个三维空间的N数码问题,问是否有解。我们先从简单的情况考虑。 >从八数码问题入手 我们首先从经转载 2012-04-13 14:14:45 · 1518 阅读 · 1 评论 -
hdu 1016 Prime Ring Problem(DFS +回溯法)
题目分析: #include #include #include #include using 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 · 518 阅读 · 0 评论 -
hdu1010 Tempter of the Bone(DFS)
题目分析: #include #include using 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 · 447 阅读 · 0 评论 -
poj 3278 Catch That Cow(bfs)
题目分析:很水的 BFS ,注意边界 #include #include #include #include using 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 · 365 阅读 · 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 · 536 阅读 · 0 评论 -
hdu 1881 毕业bg (01背包变形)浙大计算机研究生复试上机考试-2008年
题目分析:题目搞不懂呀,,参考了,http://blog.youkuaiyun.com/kyle_once/article/details/6198468, 才弄明白,一直把离校时间,理解错了....吧bg当做物品,欢乐度当做价值,持续时间当做体积,离校时间当做容量,放入顺序是有顺序的,要按离校时间升序排序, 定义dp[i][j],为吧前件bg安排到j时间内,所获得的最大欢乐度, dp[i][j]=ma原创 2012-04-26 13:06:48 · 1124 阅读 · 0 评论 -
hdu 2757 Ocean Currents(BFS 比较简单的)
题目分析: r行,c列的矩形,每个方格内有0-7七个数字,分别代表 north, south, east, west, northeast, northwest, southeast, southwest. 七个方向,一艘船 走向它的格子所表示的方向 不消耗能量,否则消耗一个能量,从起点到终点要消耗的最小能量, 分析:每个格子可以达到的而且不消耗能量的格子,同属一个集合,一次全把它们加到队列里,原创 2012-12-21 19:39:15 · 596 阅读 · 0 评论