搜索(DFS&BFS)
文章平均质量分 63
小堃哥
这个作者很懒,什么都没留下…
展开
-
nyoj+bfs三个水杯
【代码】nyoj+bfs三个水杯。原创 2023-01-08 23:13:53 · 107 阅读 · 1 评论 -
HDOJ+DFS使用了stack+貌似题目设计不合理,那个方向数组+DFS的标记和stack模板
点击打开链接///确定最大递归深度,确定递归终止条件,确定每层递归做什么#include#include#include#include#include#include#include#include#include#define INF 0x3f3f3f3fusing namespace std;const int maxn=1005;int Arr[maxn][max原创 2016-02-24 17:15:57 · 613 阅读 · 0 评论 -
蓝桥杯+BFS九宫格+了解了c++string compare()和c的string使用
点击打开链接#include#include#include#include#include#include#include#include#include#include using namespace std;struct Node{ int x,y; int steps; string s;};const int dx[]={-1,1,0,0};const原创 2016-03-19 12:10:14 · 835 阅读 · 0 评论 -
北大百练+简单递归回溯+就是那个变量类型弄错了,才搞错的额
点击打开链接#include#include#include#include#include#include#include#include#include#include#define LL long long#define inf 0x3f3f3f3f#define mod 1e9+7using namespace std;int Move[5][2]={{0,0}原创 2016-04-30 10:49:10 · 399 阅读 · 0 评论 -
百练+dp or DFS+dp就是记忆化搜索,加个数组记忆
点击打开链接///dp[i] = dp[i - 1] + 2 * dp[i - 2] + (dp[ i - 1 ] - dp[i - 2])///dp[i - 1]是往北走///dp[i - 2] * 2是上一次往北过来的,这一次往东西走都可以,所以*2///dp[i - 1] - dp[i - 2]是上次不是北边过来的,只可以走一边(东或者西)#include#include#inc原创 2016-05-02 21:54:07 · 629 阅读 · 0 评论 -
百练+BFS+图上visit标记嘛,因为是最短嘛,防止重复嘛
点击打开链接#include#include#include#include#include#include#include#include#include#include#define LL long long#define inf 0x3f3f3f3f#define mod 1e9+7const int maxn=205;using namespace std;i原创 2016-05-02 21:57:05 · 495 阅读 · 0 评论 -
百练+棋盘问题+dfs和回溯,模板化解题
点击打开链接#include#include#include#include#include#include#include#include#include#include#include#include#include#define LL long long#define inf 0x3f3f3f3f#define mod 1e9+7using namespace原创 2016-06-02 17:29:57 · 575 阅读 · 0 评论 -
百练+数独+DFS回溯
点击打开链接#include#include#include#include#include#include#include#include#include#include#include#include#include#define LL long long#define inf 0x3f3f3f3f#define maxn 1e5+5using namespac原创 2016-06-21 21:28:05 · 333 阅读 · 0 评论 -
百练+DFS+就是一个典型的DFS框架
点击打开链接#include#include#include#include#include#include#include#include#include#include#include#include#include#define LL long long#define inf 0x3f3f3f3f#define mod 1e9+7using namespace原创 2016-08-17 11:13:47 · 824 阅读 · 0 评论 -
百练+递归模拟题+二进制思想 理解好递归每一层做什么
点击打开链接#include#include#include#include#include#include#include#include#include#include#include#include#define LL long long#define inf 0x3f3f3f3fusing namespace std;void solv(int num, in原创 2017-09-14 19:46:14 · 223 阅读 · 0 评论 -
百练+BFS+模版化解题
点击打开链接//// main.cpp// test//// Created by 吴有堃 on 2017/9/11.// Copyright © 2017年 吴有堃. All rights reserved.//#include #include #include #include #include #include #include #include #原创 2017-09-15 09:47:27 · 226 阅读 · 0 评论 -
百练+DFS+棋盘分割,隔一行照样可以
点击打开链接//// main.cpp// test//// Created by 吴有堃 on 2017/9/11.// Copyright © 2017年 吴有堃. All rights reserved.//#include #include #include #include #include #include #include #include #原创 2017-09-15 09:51:04 · 241 阅读 · 0 评论 -
北大百练+POJ1979+DFS暴力搜索就行
点击打开链接#include#include#include#include#include#include#include#includeusing namespace std;char Arr[25][25];int sum=0,xx=0,yy=0,W=0,H=0;int visit[25][25];void Search(){ int i=0,j=0;原创 2017-09-21 16:03:48 · 436 阅读 · 0 评论 -
百练+BFS,记得vis标记,不然TLE
点击打开链接#include#include#include#include#include#include#include#include#include#include#include#include #include #include#define LL long long#define inf 0x3f3f3f3f#define mod 1e9+7usin原创 2018-01-12 13:44:49 · 274 阅读 · 0 评论 -
八皇后问题
#include#include#includeusing namespace std;int Arr[8][8] = { 0 },num=0;int valid(int h, int v){int x = 0, y = 0;for (x = 0; x {for (y = 0; y {if (Arr[x][y]){if (x == h) re原创 2014-08-27 00:06:49 · 345 阅读 · 0 评论 -
poj1321变种8皇后
#include#includeusing namespace std;char Arr[8][8] = { '\0' };int num = 0, k = 0, n = 0, map[8] = { 0 };void dfs(int row, int p){ int a = 0,b=0;if (p == k) {num++;return;}if原创 2014-08-27 18:54:22 · 335 阅读 · 0 评论 -
poj3126广搜、筛选法
#include#include#define N 10000using namespace std;int flag[N + 1] = { 0 }, prime[N + 1] = { 0 },pnum=0,a = 0, b = 0;struct number{int prime,step;}queue[20000];void searchprime(){原创 2014-08-28 11:22:46 · 340 阅读 · 0 评论 -
poj2299+归并排序+注意输出来的那个数据的类型。。。
#include#include#include#includeusing namespace std;int Arr[500005] = { 0 }, temp[500005] = { 0 }, N = 0;__int64 num;void merge(int low,int m, int high){int i = low, j = m + 1,n=0,le原创 2014-08-26 14:17:28 · 456 阅读 · 0 评论 -
归并排序
blog.csdn.net/crcr/article/details/5965454转载 2014-08-26 14:17:58 · 298 阅读 · 0 评论 -
poj1664+放苹果+递归和动态规划
#include#includeusing namespace std;int dp(int m, int n){if (m == 1 || n == 1||m==0||n==0) return 1;else if (m 0&&n>0) return dp(m, m);else if(m>=n&&m>0&&n>0) return dp(m, n - 1) + dp(原创 2014-08-26 18:55:05 · 362 阅读 · 0 评论 -
nyoj+dfs搜索+vector二维数组+典型的递归模板需要慢慢领悟
点击打开链接#include#include#include#include#include#include#include#include#includeusing namespace std;int pre[100005];vectorv[100005];void dfs(int S){ int i=0; for(i=0;i<v[S].size();i原创 2015-11-22 20:44:26 · 428 阅读 · 0 评论 -
ccf+BFS+主要是那个数据输入的处理梗了,然后最后时间来不及了,最后就是 continue没加
点击打开链接///这个是上次ccf没有完成的。 其实错在就是那个画边那里没有输入continue。#include#include#include#include#include#include#include#include#includeusing namespace std;char Arr[105][105];int visit[105][105]={0};int原创 2016-04-02 12:36:17 · 409 阅读 · 0 评论 -
九度oj+原始一个字符串左右交换字符最少步数变成含有2012字串+bfs及字符串和整型转换以及没有标记visit数组大小,只能用stl中的vecotr,实际上set更好。有count函数
点击打开链接#include#include#include#include#include#include#include#include#include #include using namespace std;struct Node{ string s; int steps;};queueQ;vectorvisit;string str;//bool原创 2015-12-16 12:18:53 · 546 阅读 · 0 评论 -
nyoj+求所有组合数,dfs,递归需要好好理解
点击打开链接///确定最大递归深度,确定递归终止条件,确定每层递归做什么……#include#include#include#include#include#include#include#includeint a[15];using namespace std;void print(int t){ int i; for (i = 0; i<t; i++)原创 2015-12-07 00:03:28 · 603 阅读 · 0 评论 -
nyoj+每找到一个水池就bfs相联通的水池。进行标记
点击打开链接#include#include#include#include#include#include#include#include#includeusing namespace std;int Arr[105][105],visit[105][105];int N=0,m=0,n=0,sum=0;struct Node///结构体{ int x,y;}原创 2015-12-07 00:02:18 · 337 阅读 · 0 评论 -
nyoj+三个水杯bfs错了很多小心点+单步调试找错误很好
点击打开链接#include#include#include#include#include#include#include#include#includeusing namespace std;struct Node{ int v1,v2,v3,steps;};queueQ;int V1=0,V2=0,V3=0,E1=0,E2=0,E3=0,visit[105]原创 2015-11-30 00:00:38 · 309 阅读 · 0 评论 -
poj2251+求最佳为BFS+方向数组简化+queue要有作用域
#include#include#include#includeusing namespace std;//queue 需要作用域char Map[32][32][32];//存图int visit[32][32][32], X, Y, Z, L = 0, R = 0, C = 0;int Move[6][3] = { 0, 0, 1, 0, 0, -1, 0, 1, 0, 0, -原创 2015-08-03 15:31:56 · 439 阅读 · 0 评论 -
nyoj+搜索dfs+每次是对一个数加与不加进行递归
点击打开链接#include#include#include#include#include#include#include#include#includeusing namespace std;int SumAll=0,def=0x3f3f3f3f, N=0,Arr[25]={0};void dfs(int sum,int i){ if(i>=N) return;原创 2015-07-05 21:37:02 · 280 阅读 · 0 评论 -
poj1753 广搜+位运算
#includeusing namespace std;int num[20] = { 0 }, visit[65540] = { 0 };struct unit{ int x; int step;}queue[65540];void innit()//初始化16种情况{ int i = 0, row = 0, colum = 0; for (i = 0; i < 16; i原创 2014-09-22 15:47:04 · 353 阅读 · 0 评论 -
poj2965 bfs+位运算 异或真他妈的NB
#include#includeusing namespace std;int maxn = (1 << 16) + 10, num[20] = { 0 };int queue[65540] = { 0 }, visit[65540] = { 0 }, father[65540] = { 0 }, way[65540] = { 0 }, number[655540] = { 0 };vo原创 2014-09-04 00:58:34 · 621 阅读 · 1 评论 -
NYOJ+一笔画问题+先要判断无向图的连通性(DFS or并查集),然后使用欧拉回路。
点击打开链接#include#include#include#include#include#include#include#include#includeusing namespace std;int bian[1010];bool Map[1010][1010],vis[1010];int P,Q;///主要是先判断图的连通性,之后再使用欧拉回路。void dfs(原创 2016-03-05 23:53:35 · 753 阅读 · 0 评论