随笔分类 -  搜索

hdu3329(2次dfs)
摘要:传送门:The Flood题意:当水的高度升为多少的时候,能够将这块区域分为两个部分.分析:枚举高度,先从外围开始一次dfs,将水能淹没的标记,然后看非标记的是否已分为多块。#include#include#include#include#define inf 0x7fffffff#define L... 阅读全文

posted @ 2015-03-02 22:11 lienus 阅读(120) 评论(0) 推荐(0)

CF 519E(树上倍增求lca)
摘要:传送门:A and B and Lecture Rooms题意:给定一棵树,每次询问到达点u,v距离相等的点有多少个。分析:按情况考虑:1.abs(deep[u]-deep[v])%2==1时,必定不存在到达u,v距离相等的点。2.如果deep[u]==deep[v]时,ans=n-num[lca(... 阅读全文

posted @ 2015-03-01 00:49 lienus 阅读(540) 评论(0) 推荐(0)

poj3206(bfs+最小生成树)
摘要:传送门:Borg Maze题意:有一个迷宫,里面有一些外星人,外星人用字母A表示,#表示墙,不能走,空格可以走,从S点出发,在起点S和A处可以分叉走,问找到所有的外星人的最短路径是多少?分析:分别bfs由S和所有A出发到其他点的距离,然后建好图进行最小生成树处理即可。#include #includ... 阅读全文

posted @ 2015-02-06 20:38 lienus 阅读(276) 评论(0) 推荐(0)

poj3140(树的dfs)
摘要:题目链接:http://poj.org/problem?id=3140题意:给定一棵n棵节点的树,求删去某条边后两个分支的最小差异值。分析:num[u]表示以u点为根节点的子树的总人数,那么不在该子树的人数和为sum-num[u].dfs遍历一遍即可。#include #include #inclu... 阅读全文

posted @ 2015-01-04 22:27 lienus 阅读(371) 评论(0) 推荐(0)

hdu2102(bfs)
摘要:题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2102分析:bfs求最短时间到达'P'点,不过本题有好几个trick,我都踩到了,自己还是太嫩了。。。 注意:可能两层同个位置都是'#',还有经过'#'时只能被传送,不能经过它上下左右移动。。。#incl... 阅读全文

posted @ 2014-12-19 15:08 lienus 阅读(135) 评论(0) 推荐(0)

poj3414(bfs)
摘要:题目链接:http://poj.org/problem?id=3414题意:给你两个容器 A B 问是否能够经过有限的步骤倒水,得到容量为 C 的水,输出最小的步数,同时输出每一步的操作。如果不能达到目标状态,则输出impossible。分析:这题跟hdu1495一样,需要分情况考虑,不过这里回溯输... 阅读全文

posted @ 2014-12-19 00:45 lienus 阅读(140) 评论(0) 推荐(0)

UVA11624(bfs)
摘要:题目链接:http://acm.hust.edu.cn/vjudge/contest/view.action?cid=65959#problem/J题意:一个平面迷宫中有一个人,迷宫中有些点起火了,火和人每个单位时间只能向相邻的格子移动,其中有一些空间被墙壁占据,问这个人在不背或烧到的情况下,离开迷... 阅读全文

posted @ 2014-12-18 23:31 lienus 阅读(160) 评论(0) 推荐(0)

hdu2612(bfs)
摘要:题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2612题意:求2个点到任意一个KFC的距离之和,使其最小。分析:由两个点出发分别两次bfs,求得到每个KFC的距离,再枚举每个KFC求得最小距离和即可。刚开始以为KFC不能通过,wa了一次,坑。。。#in... 阅读全文

posted @ 2014-12-17 00:07 lienus 阅读(177) 评论(0) 推荐(0)

hdu1495(bfs)
摘要:题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1495题意:有三个杯子,开始时第一个杯子装满水(体积为a),倒来倒去,得到其中2个杯里的水的体积都为a/2,求最小次数,不存在就输出NO。分析:因为被子没有刻度,所以倒入时要倒满或倒完才能保证知道容积,即... 阅读全文

posted @ 2014-12-16 23:16 lienus 阅读(212) 评论(0) 推荐(0)

hdu1254(bfs+dfs)
摘要:题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1254分析:真正移动的是箱子,但是要移动箱子需要满足几个条件。1.移动方向上没有障碍。2.箱子后方没有障碍。3.人可以到达箱子后方的地方。这里dfs或bfs都可以实现按条件搜索即可。#include #i... 阅读全文

posted @ 2014-12-16 22:55 lienus 阅读(151) 评论(0) 推荐(0)

poj3126(bfs)
摘要:题目链接:http://poj.org/problem?id=3126题意:给两个四位数n,m,将n变成m需要多少步,要求每次只能改变n的某一位数,即改变后的数与改变前的数只有一位不同,且每次改变后的数都是素数。分析:筛选素数+bfs,枚举每一位数字进行修改,修改后还是素数的进入队列,循环出队入队,... 阅读全文

posted @ 2014-12-16 20:33 lienus 阅读(351) 评论(0) 推荐(0)

poj3278(bfs)
摘要:题目链接:http://poj.org/problem?id=3278分析:广搜,每次三种情况枚举一下,太水不多说了。#include #include #include #include #include #include #include #include #include #include #... 阅读全文

posted @ 2014-12-16 17:51 lienus 阅读(127) 评论(0) 推荐(0)

poj3984(经典dfs)
摘要:题目链接:http://poj.org/problem?id=3984分析:直接深搜从起点到终点,如何取最短路线,其实只要优先向下或向右走即可。#include #include #include #include #include #include #include #include #inclu... 阅读全文

posted @ 2014-12-16 17:44 lienus 阅读(306) 评论(0) 推荐(0)

fzu2150(bfs)
摘要:题目链接:http://acm.fzu.edu.cn/problem.php?pid=2150题意:在任意两处点火,求最短时间烧光所有草堆。分析:由于n,m比较小,将所有草堆坐标记录下来,然后暴力枚举所有可能的两处草堆为起点燃烧。最后取最短时间。求每两处燃烧需要用的时间一次bfs即可。#includ... 阅读全文

posted @ 2014-12-16 16:50 lienus 阅读(169) 评论(0) 推荐(0)

zoj1940(三维广搜)
摘要:题目链接:http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemId=940分析:三维其实就是六个方向地搜索,思维清晰且细心点,很快就AC了。#include #include #include #include #include #incl... 阅读全文

posted @ 2014-12-16 15:21 lienus 阅读(247) 评论(0) 推荐(0)

poj3764(dfs+Trie树+贪心)
摘要:题目链接:http://poj.org/problem?id=3764分析:好题!武森09年的论文中有道题CowXor,求的是线性结构上的,连续序列的异或最大值,用的办法是先预处理出前n项的异或值,然后在这些值中找出两个值的异或值最大。是基于这样的一个原理,相同段的异或值为0。这题在树中找两个节点,... 阅读全文

posted @ 2014-11-30 15:15 lienus 阅读(278) 评论(0) 推荐(0)

导航