算法-搜索
数据结构搜索算法
键盘上的艺术家w
努力奋斗
展开
-
csu1808 bfs +优先队列
ICPCCamp 有 n 个地铁站,用 1,2,…,n 编号。 m 段双向的地铁线路连接 n 个地铁站,其中第 i 段地铁属于 ci 号线,位于站 ai,bi 之间,往返均需要花费 ti 分钟(即从 ai 到 bi 需要 ti 分钟,从 bi 到 ai 也需要 ti 分钟)。众所周知,换乘线路很麻烦。如果乘坐第 i 段地铁来到地铁站 s,又乘坐第 j 段地铁离开地铁站 s,那么需要额外花费原创 2017-08-23 21:04:55 · 468 阅读 · 0 评论 -
Funny Car Racing bfs题
D - Funny Car Racing There is a funny car racing in a city with n junctions and m directed roads. The funny part is: each road is open and closed periodically. Each road is associate with tw原创 2017-07-15 20:40:49 · 604 阅读 · 0 评论 -
简单的图论问题?
1780: 简单的图论问题?Submit Page Summary Time Limit: 5 Sec Memory Limit: 128 Mb Submitted: 173 Solved: 30 Description给一个 n 行 m 列的迷宫,每个格子要么是障碍物要么是空地。每个空地里都有一个权值。你的原创 2017-07-06 11:52:54 · 642 阅读 · 0 评论 -
fzuoj 2186 小明的迷宫 bfs+bfs状压+剪枝
Problem 2186 小明的迷宫Accept: 137 Submit: 453Time Limit: 1000 mSec Memory Limit : 32768 KB Problem Description小明误入迷宫,塞翁失马焉知非福,原来在迷宫中还藏着一些财宝,小明想获得所有的财宝并离开迷宫。因为小明还是学生,还有家庭作业要做,所以他想尽快获得原创 2017-07-14 23:35:05 · 474 阅读 · 0 评论 -
hdu n皇后问题 dfs打表
代码:#include#include#includeint map[50][50];int hang[50],lie[50];//hang【x】,代表x行有没有皇后,lie是相同的。int n;int count;int check(int x,int y)//检查对角线有没有皇后{ /* for(int i=0;i<n;i++) { if(原创 2017-07-14 16:00:59 · 642 阅读 · 0 评论 -
hrbust 1614 小z的地图 dfs
小z的地图Time Limit: 1000 MSMemory Limit: 32768 KTotal Submit: 101(30 users)Total Accepted: 28(24 users)Rating: Special Judge: NoDescription小z有一张被分割原创 2017-07-14 20:47:25 · 277 阅读 · 0 评论 -
ZZULIOJ 1726 状态压缩 bfs
这个题要是有问题的童鞋,第一次做这种类型的可以先看看这个:http://blog.csdn.net/lw277232240/article/details/750041651726: 迷宫Time Limit: 1 Sec Memory Limit: 128 MBSubmit: 559 Solved: 92SubmitStatusWeb Board原创 2017-07-13 20:58:09 · 238 阅读 · 0 评论 -
hdu1242 dfs剪枝
RescueTime Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 30765 Accepted Submission(s): 10808Problem DescriptionAngel was caught by t原创 2017-07-04 17:02:47 · 231 阅读 · 0 评论 -
地图的四着色 中南1508
Description有一个R行C列的网格地图,每个国家是一个四连通区域。你的任务是用红,绿,蓝,黄四种颜色给地图着色,使得相邻国家的颜色不同。一个人着色比较无趣,所以你想请女朋友陪你一起涂——你涂红绿,她涂蓝黄。当然,绅士是不会让让女朋友受累的,所以她最多只需涂5个国家(恰好5个也行)。你的任务是统计有多少种着色的方法。注意,每个颜色都至少要用一次。Input原创 2017-07-13 14:46:37 · 972 阅读 · 0 评论 -
poj 1416 dfs
ou have just been put in charge of developing a new shredder for the Shredding Company Although a "normal" shredder would just shred sheets of paper into little pieces so that the contents would becom原创 2017-07-04 11:58:06 · 187 阅读 · 0 评论 -
hdu2510 dfs打表
Problem Z Time Limit : 2000/1000ms (Java/Other) Memory Limit : 32768/32768K (Java/Other)Total Submission(s) : 3 Accepted Submission(s) : 1Font: Times New Roman | Verdana | Georgia Font Siz原创 2017-07-12 21:13:18 · 195 阅读 · 0 评论 -
hdu5113 剪枝搜索
In mathematics, the four color theorem, or the four color map theorem, states that, given any separation of a plane into contiguous regions, producing a figure called a map, no more than four colors a原创 2017-06-23 20:48:41 · 266 阅读 · 0 评论 -
hdu2209
这个题不会 从来没做过这种题,可以先看这个:http://blog.csdn.net/lw277232240/article/details/75004165翻纸牌游戏Time Limit: 9000/3000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 36原创 2017-07-12 16:28:25 · 253 阅读 · 0 评论 -
hdu 1142 A Walk Through the Forest bfs+记忆化搜索
A Walk Through the ForestTime Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 8705 Accepted Submission(s): 3221Problem Description原创 2017-07-16 10:59:39 · 213 阅读 · 0 评论 -
hdu 5706 GirlCat
GirlCatTime Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 885 Accepted Submission(s): 574Problem DescriptionAs a cute girl, Koto原创 2017-07-16 11:47:48 · 333 阅读 · 0 评论 -
hdu魔板 康拓展开
魔板Time Limit: 10000/5000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 3232 Accepted Submission(s): 759Problem Description在魔方风靡全球之后不久,Rubik先生发明了它的简化版原创 2017-07-09 08:50:35 · 326 阅读 · 0 评论 -
hdu4784 SPFA
题意:给你一个图要你在规定时间内从第一个点到n个点的赚的最多的钱。一开始你有R元钱,你可以背的动B包盐,一共有K个平行空间,给你T的时间。n个点m条边。每个点除了1和n点不能买盐卖盐,其余点都可以买盐卖盐,什么都不干。一开始在第0个平行空间里每一步只能做一件事,就是到与这个点相连的点去买盐卖盐或者什么都不干,还可以移动到第(i+1)%k(花费1个单位的时间)个平行空间里的相对位置去原创 2017-08-22 19:13:04 · 321 阅读 · 0 评论 -
用c语言实现双向bfs走迷宫的最短路径.
双向bfs指的是 一个从终点开始用bfs一个从起点开始用bfs他们逐层交替执行。直到相遇就求出最短路径#include #include #include #define QUEUELEN 100//数据结构的定义typedef struct { int x; int y; int pre;}DATA;typedef struct原创 2017-04-26 21:13:34 · 2467 阅读 · 0 评论 -
湖南省第八届省赛题!!csu1119 Collecting Coins
/*题意~:要你求能吃掉硬币的最多的个数,O代表石头,X代表障碍物 .代表路 C代表硬币。石头只能推一次推完就滚到在你正对着石头的后面一个位置就变成障碍,石头只能在后面为“·”的时候推,其余时候不能推。思路: 刚开始用dfs爆搜~~结果想错了,那样肯定超时,以吃硬币判重,然后那里一共有最多10枚硬币,那就是vis【10】【10】【10】了,一百个格子,每个格子最多可以跑10个,也就是df原创 2017-08-07 14:12:43 · 307 阅读 · 0 评论 -
度度熊的01世界 dfs
/*此题跟南阳92题 图像有用区域类似,在外面加一圈0,再判断0的连通块的个数,和1的连通块的个数既可*/#include#include#includeusing namespace std;int n,m;char map[120][120];int vis[120][120];int dir[4][2]={1,0,-1,0,0,1,0,-1};int jude(int原创 2017-08-13 10:01:51 · 467 阅读 · 0 评论 -
csu1102 bfs
/*思路:在大的里面找一个’*‘,然后从小多连块里的”*“对应,然后从小连块里找”*“,小多连块里的”*“的位置,相对于大多连块里的那个位置也要是”*“,否则,就不行。*/#include#include#include#includeusing namespace std;struct node{ int x,y; int x1,y1;};char map原创 2017-08-12 19:12:48 · 197 阅读 · 0 评论 -
csu1106 记忆化搜索+最短路
/* 中文题意就不说了,就是求最短路,从左上角到右下角的最短路的条数。 思路:因为他是要对称走的话,我们可以这样考虑,将正方形对折。把他们 的权值加起来。 然后从右下角到对角线的就是从右下角到左上角按对称走的最短路径了。 然后求出(n,n)点到其他点的最短路径,然后记忆化搜索,搞一下,就能过了*/#include#include#include#inclu原创 2017-08-12 15:44:46 · 287 阅读 · 0 评论 -
hdu 2589 dfs
题意:中文题意画个图就明白了。这个题当时没做出,后来看别人代码理解做出的。思路:用一个数组保存(1,1)到(i,j)的石头个数。然后dfs()遇到一个没有被染色的点,就开始枚举正方形,从小枚举到大,如果刚好那个点上就有一个石头,那就直接dfs(),否则就将正方形扩大,直到正方形里面有一个石头。一直循环,到没有没被染色的区域。代码注释的详细,具体见代码。#include#inclu原创 2017-08-04 09:42:39 · 219 阅读 · 0 评论 -
csu1513
题意:点球大战~~~题意:两队点球,分为a队跟b队,a队踢一次b队踢一次,两个队伍加起来一个踢十次,假如可以使比赛先结束,就是胜负已经确定了就没必要继续下面的踢球了。例如 当每个队伍踢球三次 比分是0-3,这时候就没必要继续踢下去了,因为还能踢两次球,a队伍已经不可能赢了。所以比分直接是0-3结束了这场比赛。思路:dfs搜索枚举各种进球与不进球的状态 加上一个剪枝条件 当枚举的比分a大原创 2017-08-03 15:59:44 · 229 阅读 · 0 评论 -
hdu5961
/*hdu5691 图的传递性~~~~假如a是b的父亲节点,b是c的父亲节点,那么a就一定要是c的父亲节点,则是传递。假如 a 连接b,c,d, 则b连接c 他们是传递,假如b连接 e 则就不是传递了,这个传递的性质搞清楚就好了,唉~~~对着图看半天看不懂。后来还是搜题解看懂的。阿洗吧~~~看完题解 这就很水了 。好尴尬~~~~~~~~~~~用bfs 判断层次,如果 层次大于1 则不传递原创 2017-08-09 21:32:21 · 414 阅读 · 0 评论 -
hdu2112
题意中文题就不用说啦哈思路:就是迪杰斯特拉,SPFA都可以。然后注意的是 起点和终点一样就得输出0;借这个题熟悉了下 MAP的用法 美滋滋~~~~~~~#include#include#include#include#include#include#includeusing namespace std;#define INF 999999999struct edge原创 2017-07-24 10:26:37 · 416 阅读 · 0 评论 -
hdu 1595 BFS 记录边+SPFA
/*题意:从点1到点n有一条最短路,但是这条最短路上有条边坏了,但是不确定是哪条,要你求坏一条边后的最大的最短路输入 输出 n,m,n个点,m条边。输出最大的最短路思路:用bfs先遍历求出1到n的最短路并保存,然后用SPRA算法枚举最短路上的任和一条边,求最短路,然后比较出最大值即可*/#include#include#include#include#includeusing原创 2017-07-19 22:16:29 · 248 阅读 · 0 评论 -
湖南省第6届程序设计大赛 Biggest Number (UVA1182)
这个题目当时没有做出,后来看了别人的思路才做出来的。题意:在代码的zhush很烦~~~~~~~~~~~~~~~~~~~~~~~~~~~思路:刚开始想着dfs爆搜,果断超时了。没有想到那点去。dfs遍历一个搜索树,跟bfs遍历的搜索树是一样的只是bfs是一层层来的,那么bfs所能走到的点的个数,就是这层dfs能走到的个数,那么这次dfs我们就知道了他的后继节点还有多少个,那么当前的长原创 2017-07-21 14:07:39 · 290 阅读 · 0 评论 -
hdu 1010 奇偶剪枝
Tempter of the BoneTime Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 122827 Accepted Submission(s): 33201Problem DescriptionThe dog原创 2017-06-23 15:10:55 · 251 阅读 · 0 评论 -
hdu1455
SticksTime Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 10482 Accepted Submission(s): 3151Problem DescriptionGeorge took sticks of原创 2017-07-03 09:23:21 · 342 阅读 · 0 评论 -
之江学院第0届网络邀请赛 qwb与矩阵
做完了辣么多的数学题,qwb好好睡了一觉。但是他做了一个梦:有一个n*m的矩阵,qwb在这个矩阵的左上角(1,1),终点在右下角(n,m)。每个格子中有小钱钱,也可能没有,还有可能是要交过路费的,并且行走方向必须是靠近终点的方向。往下走一次只能走一格,往右走一次可以走一格也可以走到当前列数的倍数格。 比如当前格子是(x,y),那么可以移动到(x+1,y),(x,y+1)或者原创 2017-06-16 11:38:26 · 684 阅读 · 0 评论 -
人生中第一个记忆化搜索题 hdu1978
这是一个简单的生存游戏,你控制一个机器人从一个棋盘的起始点(1,1)走到棋盘的终点(n,m)。游戏的规则描述如下:1.机器人一开始在棋盘的起始点并有起始点所标有的能量。2.机器人只能向右或者向下走,并且每走一步消耗一单位能量。3.机器人不能在原地停留。4.当机器人选择了一条可行路径后,当他走到这条路径的终点时,他将只有终点所标记的能量。如上图,机器人一开始在(1,1原创 2017-06-16 10:07:35 · 969 阅读 · 0 评论 -
bfs 穿越雷区 杭电题目
思路:刚才在杭电上看到有个公共的比赛就点进去看了看看到了这个题,然后就做了。讲下思路, 这里的地图是有出了起点和中点是有两种样子。要不+要不-所以只要判断地图不相同就ok 如果相同就continue;用bfs做;穿越雷区 X星的坦克战车很奇怪,它必须交替地穿越正能量辐射区和负能量辐射区才能保持正常运转,否则将报废。某坦克需要从A区到B区去(A,B区本身是安全区,没有正能量或负能量特征)原创 2017-05-18 11:43:52 · 314 阅读 · 0 评论 -
杭电 二叉搜索树
思路:先说一下二叉搜索树吧 ,大的数字全都在右子树小的数全都在左子树,建立的时候以第一个树为核心比较 比他大则往右子树走然后在右边也按照相同的方法一直到树为NULL,左边也是一样。 这个题先根据第一个字符串建立一颗二叉搜索树。然后前序保存在一个数组。接着输入第二个字符串也前序保存另外一个数组,然后拿这两个字符串比较如果相同则yes不同则no二叉搜索树 Time Limit : 2000原创 2017-05-06 22:13:16 · 314 阅读 · 0 评论 -
杭电毕业bg dfs
思路:这个就是01背包问题差不多。先按持续时间排序。在dfs 这样想 第一场排队 要还是不要,第二场要还是不要,一直到最后一场求出最优解。毕业bgProblem Description每年毕业的季节都会有大量毕业生发起狂欢,好朋友们相约吃散伙饭,网络上称为“bg”。参加不同团体的bg会有不同的感觉,我们可以用一个非负整数为每个bg定义一个“快乐度”。现给定一个bg列表,上面列出每个原创 2017-05-13 12:09:35 · 270 阅读 · 0 评论 -
南阳oj忙命逃窜,bfs
思路:这里说的第几层实际上就是三维数组,map[x][y][z],然后可以朝六个方向移动的话,在map[1]这层可以移动上下左右,x、y变化,然后还可以从map[1][x][y]到map[2][x][y],移动层次。然后其他的就bfs广搜就ok了。亡命逃窜时间限制:1000 ms | 内存限制:65535 KB难度:4描述原创 2017-05-13 11:45:49 · 268 阅读 · 0 评论 -
数独;深搜加回溯南阳722题
思路:从第一个格子开始 如果第一个格子没有数字则 从1开始填数判断1在这行这列这个9宫格里有没有1 有的话则 填2 如果没有 则 往下个格子 深搜按相同的方法填数,过程中不行了 则回溯回去 将搜过路径的访问标志改为0 。数独时间限制:1000 ms | 内存限制:65535 KB难度:4描述 数独是一种运用纸、笔进行演算的原创 2017-05-03 14:08:00 · 534 阅读 · 1 评论 -
迷宫寻宝 南阳82题
思路:循环广搜 先广搜一次看看能不能到终点;如果不能则终点是被门挡住了。再广搜一次找钥匙;如果找不到钥匙了则找不到终点了;在广搜一次开门;迷宫寻宝(一)时间限制:1000 ms | 内存限制:65535 KB难度:4描述一个叫ACM的寻宝者找到了一个藏宝图,它根据藏宝图找到了一个迷宫,这是一个很特别的迷宫,迷宫里有N个编过号的门(N原创 2017-05-03 14:02:36 · 509 阅读 · 0 评论 -
南阳 58题 最小步数
思路:用广搜搜索就是最短路径了;最少步数时间限制:3000 ms | 内存限制:65535 KB难度:4描述这有一个迷宫,有0~8行和0~8列: 1,1,1,1,1,1,1,1,1 1,0,0,1,0,0,1,0,1 1,0,0,1,1,0,0,0,1 1,0,1,0,1,1,0,1,1 1,0,0,0,0,1,0原创 2017-05-03 13:58:20 · 302 阅读 · 0 评论 -
一笔画问题 南阳 42题 dfs
思路 :欧拉通路 用dfs判断这个图是不是连通图,然后再判断图中顶点的奇数度是不是0或者2. 这是欧拉通路的定理 大家可以百度一下欧拉通路了解一下概念一笔画问题时间限制:3000 ms | 内存限制:65535 KB难度:4描述zyc从小就比较喜欢玩一些小游戏,其中就包括画一笔画,他想请你帮他写一个程序,判断一个图是否能够用一笔画下来。原创 2017-05-03 13:52:21 · 409 阅读 · 0 评论