随笔分类 -  搜索、

摘要:这题真尼玛坑、 后面那个输入起点和终点的 先输入列在输入行、 1 #include<iostream> 2 #include<cstring> 3 #include<cmath> 4 #include<algorithm> 5 #include<queue> 6 #include<cstdio> 7 阅读全文
posted @ 2016-03-10 17:15 我不萌、我要高冷 阅读(271) 评论(0) 推荐(0)
摘要:#include<iostream> #include<cmath> #include<cstring> #include<cstdio> #include<algorithm> #include<queue> #include<stack> using namespace std; const i 阅读全文
posted @ 2016-03-10 17:10 我不萌、我要高冷 阅读(203) 评论(0) 推荐(0)
摘要:因为这个题做了两次犯了两次不同的错误、 第一次用的dfs死活都超时 第二次把定义队列定义在了全局变量的位置,导致连WA了几次、最后找到原因的我真的想一巴掌拍死自己 1 #include<cstdio> 2 #include<cstring> 3 #include<queue> 4 using nam 阅读全文
posted @ 2016-02-06 16:07 我不萌、我要高冷 阅读(346) 评论(0) 推荐(0)
摘要:思路其实挺简单的,为什么我想不到呢!!! 原因分析:(1)题目还是做少了 (2)做题目的时候在放音乐 (3)最近脑袋都不愿意想思路总是想一些无用的 改进:(1)以后做题目坚决不开音乐,QQ直接挂隐身 (2)想题目的时候一定要认真,开启完全状态 (3)对自己再认真一点,加油 1 #include<cs 阅读全文
posted @ 2016-02-03 10:49 我不萌、我要高冷 阅读(306) 评论(0) 推荐(0)
摘要:题意:模拟国际象棋中马的走棋方式,其实和中国象棋的马走的方式其实是一样的,马可以从给定的方格棋盘中任意点开始,问是否能遍历全部格子,能的话输出字典序最小的走棋方式,否则输出impossible 思路:只要能遍历全部的格子,就一定会走A1这个点,而且这个点的字典序是最小的,保证了这点的话还需要保证df 阅读全文
posted @ 2016-02-03 10:03 我不萌、我要高冷 阅读(368) 评论(0) 推荐(0)
摘要:广搜与深搜的小区别 一般来说,广搜常用于找单一的最短路线,或者是规模小的路径搜索,它的特点是"搜到就是最优解", 而深搜用于找多个解或者是"步数已知(好比3步就必需达到前提)"的标题,它的空间效率高,然则找到的不必定是最优解,必需记实并完成全数搜索,故一般情况下,深搜需要很是高效的剪枝(优化). 像 阅读全文
posted @ 2016-02-02 22:14 我不萌、我要高冷 阅读(474) 评论(0) 推荐(0)
摘要:题意:求n到k的最小路径, n有三种变法 n+1,n-1或者2*n; 贴个广搜的模版在这里把.... 总结一下:一般涉及到求最短路的话用宽搜 1 #include<iostream> 2 #include<cstdio> 3 #include<algorithm> 4 #include<queue> 阅读全文
posted @ 2016-02-01 11:05 我不萌、我要高冷 阅读(408) 评论(0) 推荐(0)
摘要:题意:模拟国际象棋马的走棋方式,和中国象棋一样马走日,8X8的棋盘,问从起点到终点的最短步数,国际象棋中数字代表行row,字母代表列column,思路:记忆化深搜、 1 #include 2 #include 3 const int qq=20+5,no=1e7; 4 int tx,ty,minx;... 阅读全文
posted @ 2016-01-20 10:09 我不萌、我要高冷 阅读(296) 评论(0) 推荐(0)
摘要:题意:‘.’代表黑色瓷砖,‘#’代表红色瓷砖,‘@’代表一个人的起始位置,问这个人最多能踩到多少黑色瓷砖,注意注意!!!先输入列在输入行。思路:也是典型的dfs,但是这里每访问一个黑色瓷砖的话,就标记为‘#’,代表不能再访问他了,因为在此访问的话,总数就不对了。(为此本弱调试了半小时才发现) 1 #... 阅读全文
posted @ 2016-01-19 23:14 我不萌、我要高冷 阅读(362) 评论(0) 推荐(0)
摘要:题意:大家都是爱过的好孩子、题意想必就不需要讲了;思路:标准的dfs,刚开始超时,因为没有那个比较最短的情况下的时候剩下的步数如果小于此时的最短距离是走不到出口的;改进这点后,发现答案错误,- -最后发现起点可 以是墙,- -、巨坑 1 #include 2 #include 3 #includ... 阅读全文
posted @ 2016-01-19 11:36 我不萌、我要高冷 阅读(316) 评论(0) 推荐(0)
摘要:题意:给你一个迷宫,2代表你当前的位置,0代表墙,1代表可走的路,3代表出口,4代表的是炸弹的重置点,一开始炸弹的倒计时设置为6,每走一步时间减少1,倒计时到0的时候走到3或者4都不可以,问走出迷宫的最小步数,没有则输出-1.思路:dfs剪枝,这里的剪枝有点不一样,因为这里可以回溯的走,也就是可以走... 阅读全文
posted @ 2016-01-19 10:18 我不萌、我要高冷 阅读(256) 评论(0) 推荐(0)
摘要:好像是3天的样子把、写了6,7道搜索题整理下几个问题: 1:坐标轴的建立,尤其是三维坐标,以及题目给你的坐标系,不要盲目的去建立,以后三维坐标[z][y][x],就这样建立把,二维坐标[y][x]与[x][y],个人觉得都还可以,但还是前者比较靠谱一点吧、 2:搜索的优化,也就是剪枝,到目前为止就学 阅读全文
posted @ 2016-01-17 21:41 我不萌、我要高冷 阅读(148) 评论(0) 推荐(0)
摘要:题意:有一个人被困在监狱了,他的朋友想去救他,x代表守卫,a代表这个人,r代表他的朋友,#代表墙,问朋友找他最小的时间,移动一格时间+1,如果那地方是守卫,杀死守卫也需要+1时间;思路:和HDU 1240差不多,记忆最短路径。但这题有个坑点,就是他的朋友可能有多个,我读题的时候没看到...直接超时4... 阅读全文
posted @ 2016-01-17 21:18 我不萌、我要高冷 阅读(303) 评论(0) 推荐(0)
摘要:这是我做过最简单的一道搜索题了、可我开始想的时候觉得特别复杂...... - -好吧、我确实是很水题意:输入一张地图,@代表油田,如果一个@周边8个方向存在@,那么它就是一个油田,对于每个数据输出总的油田数思路:深搜,每找到一个油田就往其他8个方向搜; 1 #include 2 #include 3... 阅读全文
posted @ 2016-01-17 09:55 我不萌、我要高冷 阅读(239) 评论(0) 推荐(0)
摘要:1 #include<iostream> 2 #include<cstdlib> 3 #include<cstdio> 4 #include<cstring> 5 int mmin,n; 6 using namespace std; 7 const int qq=11; 8 char map[qq] 阅读全文
posted @ 2016-01-16 16:00 我不萌、我要高冷 阅读(390) 评论(0) 推荐(0)
摘要:真正搜索意义上的第一题、开始因为标志变量flag没有重置为0、导致WA了两次呢、吸取教训了 1 #include 2 #include 3 #include 4 #include 5 using namespace std; 6 int flag,di,dj,n,m,t; 7 char map[10... 阅读全文
posted @ 2016-01-16 09:33 我不萌、我要高冷 阅读(261) 评论(0) 推荐(0)
摘要:搜索第二题、把函数的导函数求出来判断就行了,因为这函数是先减后增的,所以就是把mid缩小到极值点附近 1 #include 2 #include 3 const double mm = 1e-8; 4 double y; 5 double cal(double x){ 6 return ... 阅读全文
posted @ 2016-01-14 23:55 我不萌、我要高冷 阅读(255) 评论(0) 推荐(0)
摘要:人生中第一道搜索题 精度精度、!!! 1 #include 2 #include 3 #include 4 #include 5 using namespace std; 6 double f(double x) 7 { 8 return 8*pow(x,4.0)+7*pow(x,3.... 阅读全文
posted @ 2016-01-14 22:32 我不萌、我要高冷 阅读(113) 评论(0) 推荐(0)