搜索 DFS
文章平均质量分 76
saucyJack
外科
展开
-
poj 3373 Changing Digits(记忆化搜索)
题目链接:http://poj.org/problem?id=3373参考了网上的一篇博客,感觉讲得很详细附上传送门:http://blog.csdn.net/lyy289065406/article/details/6698787/#include#include#include#include#includeusing namespace std;const int原创 2016-02-17 10:05:14 · 266 阅读 · 0 评论 -
POJ 2965(DFS+枚举)
题目链接:http://poj.org/problem?id=2965题意:4*4矩阵,矩阵上每个元素都有两种符号+和-,每次变换将同行同列元素全部变为相反状态,问需要多少次可以将矩阵所有运算的状态变为+。思路:这道题和1753那道题差不多。题目不会出现Impossible的情况。具体做法是DFS+枚举,每个元素只有两种状态,所有元素共有2^16次状态,代码整体实现和1753差不多原创 2016-01-23 18:39:02 · 494 阅读 · 0 评论 -
POJ 2488(DFS)
题目链接:http://poj.org/problem?id=2488题意:国际象棋中,在棋盘上放置一直马,按‘日’字形行走,能否走完棋盘上的所有位置,起点和终点任意,如果存在路径,输出字典需最小的一个。题目看起来倒是挺简单的呃...但是还是做了好久,一直在纠结字典序的问题,注意搜索方向的顺序性,这样可以避免枚举。#include#include#include#includ原创 2016-01-26 15:03:40 · 287 阅读 · 0 评论 -
POJ 1321 (DFS)
题目链接:http://poj.org/problem?id=1321第一感觉这道题像是八皇后...后来仔细想想还是有点差别。按照八皇后的想法来做的,逐行搜索,放置棋子后标记列,不需要判断对角线。#include#include#include#include#include#includeusing namespace std;const int INF=0x3f3f原创 2016-01-26 17:04:36 · 166 阅读 · 0 评论 -
POJ 3083(DFS+BFS)
题目链接:http://poj.org/problem?id=3083题意:给出一个迷宫,s为qdi原创 2016-01-28 20:21:58 · 319 阅读 · 0 评论 -
POJ 3009(Dfs)
题目链接:http://poj.org/problem?id=3009题意:冰壶在冰面上滑行,直至遇到石块或者出界才会静止,遇到石块会直接将石块击碎,并且停留与石块的相邻的格子上,给定起点S和终点G,判断冰壶能否在10次以内从S滑行到G,如果能,求最小次数。因为每次搜索地图都会改变,所以Bfs行不通,可以用Dfs+回溯来实现这一点。每次向一个方向一直遍历,直至无法滑行,然后改变地图继续原创 2016-01-29 09:28:40 · 799 阅读 · 0 评论 -
POJ 2531 Network Saboteur(DFS+剪枝)
题目链接:http://poj.org/problem?id=2531有n个点,给出任意两点之间的权值,现在将点分别放入A集合或者B集合,求两个集合的权值之和的最大值。直接暴力过去也没什么问题,110ms,加了一个剪枝到47ms。初始认为所有集合都在A中,然后枚举将点加入B中。具体解释见代码:#include#include#include#include#incl原创 2016-02-04 10:15:27 · 225 阅读 · 0 评论 -
poj 1416 Shredding Company(DFS)
题目链接:http://poj.org/problem?id=1416用DFS暴搜,枚举出所有状态,直至搜索完毕,计算最小值。我是用map来标记出现次数,开数组太浪费空间了。具体代码如下(变量有点多= =!):#include#include#includeusing namespace std;const int maxn=10;char tarNum[maxn],s原创 2016-02-04 19:39:38 · 235 阅读 · 0 评论 -
poj 1129(DFS+四色定理)
之前练习二分图的时候有接触过染色法,用01染色法判断一个图是否是二分图,而这道题是进行图的染色,求最少最需要的着色数。第一次接触到四色定理,对于任何一个无向图着色,最多只需要4种颜色即可,具体证明参考网上的资料吧,我也不太会= =!用DFS枚举所有可能,如果贪心的话可能过不了(因为数据比较水),求出满足条件的最小着色数。#include#include#includeus原创 2016-02-05 00:16:10 · 565 阅读 · 0 评论 -
poj 3411 Paid Roads(DFS)
题目链接:http://poj.org/problem?id=3411题意:有n座城市,编号1~n,从a到b如果已经经过c城市,则需要p费用,否则需要r费用,问从1到n的最小费用是多少。①DFS:#include#include#include#include#includeusing namespace std;const int INF=0x3f3f3f3f;con原创 2016-02-14 16:30:12 · 274 阅读 · 0 评论 -
poj 1724 ROADS
传送门:http://poj.org/problem?id=1724注意有重边!①Dijsktra+优先队列(16ms):#include#include#include#include#includeusing namespace std;const int INF=0x3f3f3f3f;const int maxn=10010;int T,n,k,r,e;i原创 2016-02-16 16:49:12 · 216 阅读 · 0 评论 -
POJ 1753(DFS+枚举||BFS+位运算)
题目链接http://poj.org/problem?id=1753题意:给出一个4*4方格,b表示黑棋,w表示白棋,每次选定一个棋子,将其以及相邻点翻转,需要多少次才能使棋子全为白色或者黑色?思路:每次棋子最多只需要翻转1次(翻转偶数次和不翻转一样,翻转奇数次和翻转1次结果一样),所以最多有2^16个不同的状态,直接枚举+DFS回溯就可以判断;另外一种思路,每个棋子的状态用二原创 2016-01-23 10:26:30 · 734 阅读 · 0 评论