
搜索
文章平均质量分 68
wmn_wmn
这个作者很懒,什么都没留下…
展开
-
NYoj 27 广搜
暑假的时候学的搜索,当时迷迷糊糊的做了这道题,做过之后也一直没仔细想过,,,最近topcoder搞了个学习计划,第一步就是学搜索,,,我也就想着趁机把搜索在复习一下,就重新做了一下这道题,,,没什么难度,就是个简单的搜索,,,不过还是写了近一个多小时,,看来还要加强联系啊。。。。原创 2011-09-12 10:13:44 · 821 阅读 · 0 评论 -
POJ 3126 Prime Path bfs
来源:http://poj.org/problem?id=3126题意:给你两个四位数的素数,求最少经过多少步的变化能够从一个素数变到另一个素数。在变得过程中,要求都是素数,而且每个新的数和原来的数只有一位不一样。思路:bfs,对每一位判断即可。代码:#include #include #include #include #include using namespace原创 2012-08-07 09:36:38 · 1483 阅读 · 0 评论 -
POJ 1426 Find The Multiple bfs
来源:http://poj.org/problem?id=1426题意:给你一个数n,让求一个只有0和1组成的十进制数x,x是n的倍数。思路:bfs,因为只有0和1组成,所以最高位肯定是1,从1开始搜即可。搜索的过程中,若x%n已经出现过了,则不在入队。输出最先搜到的一个即可。代码:#include #include #include #include using name原创 2012-08-08 10:22:56 · 861 阅读 · 0 评论 -
POJ 1129 Channel Allocation 着色问题 dfs
来源:http://poj.org/problem?id=1129题意:给一些电台,相邻的电台之间不能共用一个频道。求最少能用多少个频道让所有的电台都能使用。思路:其实是个着色问题了。介绍一下着色问题,给一个平面图,相邻的之间不能用同一种颜色,最少需要多少种颜色涂完平面图。着色问题的最原始版本是四色问题。平面图上相邻的图就相当于本题中的相邻的电台,用多少种颜色即为多少个频道。至于解法,原创 2012-08-09 20:03:57 · 1020 阅读 · 0 评论 -
POJ 1564 Sum It Up dfs
来源:http://poj.org/problem?id=1564题意:给你一个数sum,然后再给你一个数n,再给你n个数,从n个数中找出一些数,让这些数的和是n。所给的n个数是递减的,让输出的结果也是按照递减的形式输出。思路:由于n最大为12,所以很明显可以暴力搜出所有的情况,然后判断和是否为sum,如果为sum,则输出即可。需要注意两点的是:首先有一个去重的过程,我的处理是把合适的全部原创 2012-08-13 10:28:03 · 863 阅读 · 0 评论 -
POJ 2312 Battle City 优先多列+bfs
来源:http://poj.org/problem?id=2312题意:题目背景就是小时候玩的坦克大战,求从起点到终点最少需要多少步。已知S和R是不能走得,E是空的,可以走,B是砖,只有打掉后才可以通过。思路:很容易看出来这是一道广搜的题目,但是因为走E和走B所需要的时间不一样,因此不能用普通的队列存点。因为对于走B来说,要先打掉砖才能通过,所以我们可以理解为走B需要两步,而走E是指需要1原创 2012-08-14 10:19:35 · 1608 阅读 · 0 评论 -
POJ 2362 Square dfs
来源:http://poj.org/problem?id=2362题意:给你一些木棍,判断能不能用这些木棍围城一个正方形。注意是所有的木棍都要用到,且每个木棍只能用一次。思路:数据范围不大,n是小于20的,所以明显可以用dfs。主要有三个剪枝的地方,1:所有木棍的长度和必须为4的倍数,否则的话,肯定围不成正方形;2:设正方形的变长为side,则所有木棍中的最大长度maxlen必须小于等于s原创 2012-08-15 10:13:43 · 1269 阅读 · 1 评论 -
POJ 1011 Sticks dfs + 剪枝
来源:http://poj.org/problem?id=1011题意:有一些小木棍,最多有64根,这些小木棍的长度已知且都不超过50。已知这些小木棍是由原来一些等长的木棍折断而来的,求原来木棍最小的可能长度是多少。思路:这道题转化为一个数学问题的话就是:有n个数,和为sum,这些数可以合成k个数,其中ans = sum / k就是我们要求的,且要求ans最小。可以用dfs解决这个问题原创 2012-08-15 14:53:26 · 702 阅读 · 0 评论 -
POJ 1915 Knight Moves bfs
来源:http://poj.org/problem?id=1915题意:就是给你一个边长为n的国际象棋棋盘,然后给了你王后的走法,并且给出起点和终点,求从起点到终点需要多少步。思路:简单的bfs。代码:#include #include #include #include using namespace std;#define CLR(arr,val) memset(a原创 2012-08-16 10:10:30 · 647 阅读 · 0 评论 -
POJ 1753 Flip Game dfs + 枚举
来源:http://poj.org/problem?id=1753题意:给一个4*4的棋盘,上面有黑色或者白色的棋子。每次可以改变一个方格的棋子,若改变某棋子,则该棋子上下左右和其本身的颜色都要改变。问最少经过多少步的改变,可以变化成颜色都一样。思路:仔细考虑,可以发现,一个位置的棋子,要么保持原状不变,要么改变一次。因为改变偶数次和不改变的效果是一样的,改变奇数次和改变1次的效果是一样的原创 2012-08-16 10:19:39 · 1095 阅读 · 0 评论 -
POJ 1579 Function Run Fun 记忆化搜索
来源:http://poj.org/problem?id=1579题意:题目就是给了你一个递归方程,然后让计算值。思路:由于递归太慢,而且计算了很多重复的值,所以可以用记忆化搜索,标记计算过的值即可。如果已经计算过了,直接返回就可以了。代码:#include #include #include using namespace std;int ans[22][22][22]原创 2012-08-17 19:47:29 · 909 阅读 · 0 评论 -
POJ 3278 Catch That Cow bfs
来源:http://poj.org/problem?id=3278题意:给一个开始点和一个结束点,求从开始点到结束点需要多少步。可以左走一步,右走一步,或者坐标乘2.思路:裸的bfs啊,水题一枚。代码:#include #include #include #include using namespace std;#define CLR(arr,val) memset(a原创 2012-08-06 19:55:06 · 654 阅读 · 0 评论 -
POJ 1088 滑雪 DP + dfs
题目来源:http://poj.org/problem?id=1088题意:汉语题意,不说了思路:这道题的动态方程是比较容易想的。就是说拿当前点的高度和该点四周的高度相比,若比周围点高度高,则比较长度。dp[i][j] = max(dp[i][j],dp[newx][newy]+1),这样即可。在比较的时候用到了深搜找路径。本来想到了用深搜,担心超时,一直不敢写。深搜时有一个地方要注意,就原创 2012-07-08 10:25:34 · 1526 阅读 · 0 评论 -
NYoj 20 深搜
是一道无根树转化为有根树的题目,暑假时迷迷糊糊的ac了,其实并没有理解其实质,,今天又重新做了一遍,才知道原来无根树转化为有根树实质就是一个深搜的过程,,把一条路径上的点都找出即可。。。题目:在一个吝啬的国度里有N个城市,这N个城市间只有N-1条路把这个N个城市连接起原创 2011-09-13 20:44:28 · 1124 阅读 · 0 评论 -
NYoj 21 三个水杯 广搜
是一道广搜的题,,就是把3个水杯的6中状态一一枚举出来,由哪个状态先打到目的状态,,,即是最少步数。中间要判断一下某个状态是否出现,若出现过就不在进入队列,因为同种状态后出现的步数比先出现的步数大。。。。题目:给出三个水杯,大小不一,并且只有最大的水杯的水是装满的,其原创 2011-09-14 16:20:44 · 1848 阅读 · 0 评论 -
杭电 2822 优先队列+光搜
是一道搜索题,和NYOJ上的坦克大战非常像,用优先队列+光搜就可以了。个人感觉这道题用dijkstra应该也可以解决,就是建图太麻烦了。题目:DogsTime Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 1046 Acc原创 2012-03-01 17:39:32 · 1543 阅读 · 0 评论 -
POJ 搜索题
一些好题目POJ 1190 – 生日蛋糕(基础,好题)http://acm.pku.edu.cn/JudgeOnline/problem?id=1190题意:略解法:dfs,题偏简单,但做出来还是有些感觉的POJ 1376 – Robot(基础)http://acm.pku.edu.cn/JudgeOnline/problem?id=1376题意:略解法:bfs原创 2012-03-21 10:24:42 · 3018 阅读 · 2 评论 -
NYOJ 488 dfs
素数环时间限制:1000 ms | 内存限制:65535 KB难度:2描述有一个整数n,把从1到n的数字无重复的排列成环,且使每相邻两个数(包括首尾)的和都为素数,称为素数环。为了简便起见,我们规定每个素数环都从1开始。例如,下图就是6的一个素数环。输入有多组测试数据,每组输入一个n(0输出每组第一行输出对应的原创 2012-03-21 19:19:39 · 2546 阅读 · 0 评论 -
NYOJ 32 组合数 dfs
神搜枚举所有的情况即可,题目:组合数时间限制:3000 ms | 内存限制:65535 KB难度:3描述找出从自然数1、2、... 、n(0<n<10)中任取r(0<r<=n)个数的所有组合。输入输入n、r。输出按特定顺序输出所有组合。特定顺序:每一个组合中的值从大到小排列,组合之间按逆字典序排列。样例输入原创 2012-03-21 21:22:18 · 2305 阅读 · 1 评论 -
POJ 1256 DFS
这道题的排序需要好好想一下,之后的由于序列是无重复的,所以在dfs的时候需要特殊处理一下即可。题目:AnagramTime Limit: 1000MS Memory Limit: 10000KTotal Submissions: 14869 Accepted: 6085DescriptionYou ar原创 2012-03-22 15:53:59 · 1942 阅读 · 5 评论 -
POJ 1176 dfs
这道题真恶心,,写出来dfs后提交,,wa了,仔细看题,才发现还要对二进制升序排序后输出。我去,,真够麻烦的。接下来就是转化成字符串,然后在用字符串比较,最后输出。。。值得注意的是,如果按开关的次数大于4,则和c%4+4次的效果是一样的,题目:Party LampsTime Limit: 1000MS Memory Limit: 10000KTo原创 2012-03-22 10:52:47 · 1269 阅读 · 0 评论 -
POJ 1321 dfs
此题和八皇后问题很像,深搜一下就可以了。。题目:棋盘问题Time Limit: 1000MS Memory Limit: 10000KTotal Submissions: 13823 Accepted: 6822Description在一个给定形状的棋盘(形状可能是不规则的)上面摆放棋子,棋子没有区别。原创 2012-03-22 20:03:07 · 677 阅读 · 0 评论 -
HDU 4171 bfs&&最短路
这道题一定要读清题意,读懂题的话很好想,没读懂的话就悲剧了。。。。。 题目中最后说,只有n条边。由于共n+1个点,仅有n条边,而且题目中说了,保证每个点都是可达的,所以必然是一颗树,而且从根节点0到某一节点的路径有且仅有一条。想到这里后,就很容易了,可以用广搜,算出根节点0到每个节点的距离。也可以用最短路算出根节点0到每个节点的距离。 之后就是选择学校了,设所有边的权原创 2012-05-08 09:18:23 · 1388 阅读 · 0 评论 -
POJ 1847 Tram 优先队列+bfs
来源:http://poj.org/problem?id=1847题意:在一个地方,有一些调度站,这些调度站和其他一些调度站之间有路。但是一个调度站只和另一个调度站直接相连,另外和一些调度站间接相连。如果从该调度站到达其直接相连的调度站需要0步,到达其间接相连的调度站需要1步。现在给出了起点和终点,问从起点到终点最少需要多少步。思路:很明显用bfs可以解决了,但因为涉及到步数增加不一致的问原创 2012-08-16 20:02:55 · 860 阅读 · 0 评论