![](https://img-blog.csdnimg.cn/20190918140129601.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
搜索
DFS BFS学习
梦中醉卧惊起
这个作者很懒,什么都没留下…
展开
-
整数分解 (记忆化 ,数学隔板)
整数分解【问题描述】把3分解成两个正整数的和,有两种分解方法,分别是 3 = 1 + 2 和 3 = 2 + 1。注意顺序不同算不同的方法。将5分解成三个正整数的和,有6种分解方法,分别是 1 + 1 + 3 = 1 + 2 + 2 = 1 + 3 + 1 = 2 + 1 + 2 = 2 + 2 + 1 = 3 + 1 + 1。请问,将2021分解成五个正整数的和,有多少种分解方法?方法一记忆化搜索#include<bits/stdc++.h>using namespace s转载 2022-04-07 15:05:35 · 150 阅读 · 0 评论 -
跳跃 (dfs)
文章目录跳跃AC思路AC代码跳跃题目描述小蓝在一个 n 行 m 列的方格图中玩一个游戏。开始时,小蓝站在方格图的左上角,即第 1 行第 1 列。小蓝可以在方格图上走动,走动时,如果当前在第 r 行第 c 列,他不能走到行号比 rr 小的行,也不能走到列号比 c 小的列。同时,他一步走的直线距离不超过 3。例如,如果当前小蓝在第 3 行第 5 列,他下一步可以走到第 3 行第6 列、第 3 行第 7 列、第 3 行第 8 列、第 4 行第 5 列、第 4 行第 6 列、第 4 行第 7 列、第 5原创 2022-04-06 16:02:25 · 85 阅读 · 0 评论 -
七段码 (爆搜 + 并查集)
文章目录七段码AC思路AC代码七段码题目描述本题为填空题,只需要算出结果后,在代码中使用输出语句将所填结果输出即可。小蓝要用七段码数码管来表示一种特殊的文字。图片描述上图给出了七段码数码管的一个图示,数码管中一共有 77 段可以发光的二 极管,分别标记为 a, b, c, d, e, f, g。小蓝要选择一部分二极管(至少要有一个)发光来表达字符。在设计字符 的表达时,要求所有发光的二极管是连成一片的。例如:bb 发光,其他二极管不发光可以用来表达一种字符。例如 cc 发光,其他二极管不发原创 2022-04-06 15:50:35 · 499 阅读 · 1 评论 -
全球变暖 (dfs)
文章目录全球变暖AC思路AC代码全球变暖题目描述你有一张某海域 NxNNxN 像素的照片,".“表示海洋、”#"表示陆地,如下所示:….##….##……##.…####.…###.…其中"上下左右"四个方向上连在一起的一片陆地组成一座岛屿。例如上图就有 2 座岛屿。由于全球变暖导致了海面上升,科学家预测未来几十年,岛屿边缘一个像素的范围会被海水淹没。具体来说如果一块陆地像素与海洋相邻(上下左右四个相邻像素中有海洋),它就会被淹没。例如上图中的海域未来会变成如下样子:…………原创 2022-04-04 21:41:59 · 617 阅读 · 0 评论 -
鸣人的影分身 (DFS)
文章目录鸣人的影分身思路AC代码鸣人的影分身描述在火影忍者的世界里,令敌人捉摸不透是非常关键的。我们的主角漩涡鸣人所拥有的一个招数——多重影分身之术——就是一个很好的例子。影分身是由鸣人身体的查克拉能量制造的,使用的查克拉越多,制造出的影分身越强。针对不同的作战情况,鸣人可以选择制造出各种强度的影分身,有的用来佯攻,有的用来发起致命一击。那么问题来了,假设鸣人的查克拉能量为M,他影分身的个数最多为N,那么制造影分身时有多少种(用K表示)不同的分配方法?(影分身可以被分配到0点查克拉能量)输入描原创 2022-03-28 00:34:02 · 142 阅读 · 0 评论 -
纸牌三角形
纸牌三角形A,2,3,4,5,6,7,8,9 共9张纸牌排成一个正三角形(A按1计算)。要求每个边的和相等。下面就是一种排法A9 64 83 7 5 2这样的排法可能会有很多。如果考虑旋转、镜像后相同的算同一种,一共有多少种不同的排法呢?AC代码#include <bits/stdc++.h>#define ll long longusing namespace std;int main(){ int a[9] = {1, 2, 3, 4, 5, 6,原创 2022-03-14 15:05:24 · 235 阅读 · 0 评论 -
奇怪的分式 (爆搜)
奇怪的分式显示标签时间限制:C/C++ 1000MS,其他语言 2000MS内存限制:C/C++ 256MB,其他语言 512MB难度:简单出题人:描述上小学的时候小明经常自己发明新算法。一次,老师出的题目是:1/4 乘以 8/5 小明居然把分子拼接在一起,分母拼接在一起,答案是:18/45,老师刚想批评他,转念一想,这个答案凑巧也对啊。 对于分子、分母都是 1~9 中的一位数的情况,还有哪些算式可以这样计算呢? 请写出所有不同算式的个数(包括题中举例的)。显然,交换分子分母后,例如:4/1原创 2022-03-14 12:24:47 · 1750 阅读 · 0 评论 -
六角填数 (爆搜)
文章目录六角填数描述思路 :AC代码六角填数显示标签时间限制:C/C++ 1000MS,其他语言 2000MS内存限制:C/C++ 256MB,其他语言 512MB难度:简单描述如图所示六角形中,填入1~12的数字。使得每条直线上的数字之和相等。图中,已经替你填好了3个数字,请你计算星号位置所代表的数字是多少?image.png输入描述(无)输出描述(输出答案即可)思路 :每条线相加都会相等,这里我们可以看到,总共六条直线,六条直线相加的和 ==这12个点相加的和*2,所以求出单原创 2022-03-14 12:20:34 · 1254 阅读 · 0 评论 -
李白打酒 (爆搜)
李白打酒暂无标签时间限制:C/C++ 1000MS,其他语言 2000MS内存限制:C/C++ 256MB,其他语言 512MB难度:简单描述话说大诗人李白,一生好饮。幸好他从不开车。一天,他提着酒壶,从家里出来,酒壶中有酒两斗。他边走边唱:无事街上走,提壶去打酒。逢店加一倍,遇花喝一斗。这一路上,他一共遇到店5次,遇到花10次,已知最后一次遇到的是花,他正好把酒喝光了。请你计算李白遇到店和花的次序,可以把店记为a,遇花记为b。则:babaabbabbabbbb 就是合理的次序。像这样的原创 2022-03-14 10:59:20 · 1578 阅读 · 0 评论 -
经典递归 (DFS)
acwing92递归实现指数型枚举(DFS + 递归)1.实现数字的全排列全排列就是输出所有不同顺序答案,答案个数没有限制; 答案排列顺序没有限制;直接从1开始搜索,搜索完后就行递归回溯;#include <iostream>using namespace std;int n;bool vis[20];int a[20];void solve(int pos){ if(pos == n + 1){ for(int i = 1;i <= n;+原创 2022-01-27 22:24:50 · 201 阅读 · 1 评论 -
LQ城 (BFS)
LQ城描述小蓝住在 LQ 城,今天他要去小乔家玩。LQ 城可以看成是一个 n 行 m 列的一个方格图。小蓝家住在第 1 行第 1 列,小乔家住在第 n 行第 m 列。小蓝可以在方格图内走,他不愿意走到方格图外。城市中有的地方是风景优美的公园,有的地方是熙熙攘攘的街道。小蓝很喜欢公园,不喜欢街道。他把方格图中的每一格都标注了一个属性,或者是喜欢的公园,标为1,或者是不喜欢的街道标为2。小蓝和小乔住的地方都标为了1。小蓝每次只能从一个方格走到同一行或同一列的相邻方格。他想找到一条路径,使得不连续走原创 2022-03-05 19:16:40 · 203 阅读 · 0 评论 -
寻找道路 (NOIP)
寻找道路链接:https://ac.nowcoder.com/acm/problem/16498题目描述在有向图G中,每条边的长度均为1,现给定起点和终点,请你在图中找一条从起点到终点的路径,该路径满足以下条件:1.路径上的所有点的出边所指向的点都直接或间接与终点连通。2.在满足条件1的情况下使路径最短。注意:图G中可能存在重边和自环,题目保证终点没有出边。请你输出符合条件的路径的长度。输入描述:第一行有两个用一个空格隔开的整数n和m,表示图有n个点和m条边。接下来的m行每行2个整数x、原创 2022-03-04 20:59:21 · 338 阅读 · 0 评论 -
深度优先搜索
深搜数字排列给定一个整数 n,将数字 1∼n排成一排,将会有很多种排列方法。现在,请你按照字典序将所有的排列方法输出。输入格式共一行,包含一个整数 n。输出格式按字典序输出所有排列方案,每个方案占一行。数据范围1≤n≤7输入样例:3输出样例:1 2 31 3 22 1 32 3 13 1 23 2 1AC代码注意用二进制记录是否访问过#include <iostream>using namespace std;const int maxn =原创 2022-02-15 13:41:13 · 238 阅读 · 0 评论 -
BFS (多源,双端,双向)
广搜文章目录广搜Flood Fill多源BFS优先队列BFS双端BFS双向BFSFlood Fill1.思想:中文名为洪水填充。选择一个初始起点,从它扩散到相邻节点,一般有四连通和八连通。这算法可以在线性时间内,找到某个点所在的连通块找水池#include <iostream>#include <algorithm>#include <string.h>#include <queue>#include <stdio.h>#de原创 2022-02-15 13:42:54 · 793 阅读 · 0 评论