![](https://img-blog.csdnimg.cn/20190918140037908.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
搜索dfs bfs
文章平均质量分 60
dfs,bfs
JingleLiA
这个作者很懒,什么都没留下…
展开
-
2020.9.26 360笔试第二题
题目大意给出一个带权无向图,没有自环和重边,给出两个节点s和t,求从s到达t的路径中的所有边里,边权最大的边的权至少有多大。保证s与t连通。用例以n(节点个数)、m(边数)、s、t,然后m行u、v、w(权的大小)给出,比如:5 6 1 51 5 1001 2 102 5 51 3 33 4 24 5 1选择从1->3->4->5的路径,经过3条w分别为3、2、1的边,因此答案为3。如果选择1->5或1->2->5则最大边权分别为100和10,都比3大。原创 2020-09-27 02:05:18 · 569 阅读 · 0 评论 -
2021度小满9.20编程笔试
第一题涂色很简单,就是个简单的模拟说说第二题吧,经典走迷宫问题,就是遇到*步数加一,遇到.直接前进,遇到#无法前进,只要走到四个边缘之一就算走出迷宫,问最小步数。这题暴力dfs会超时,也就过个9%…利用记忆化搜索加剪枝即可,贴个代码吧import java.util.*;public class Main { static Scanner in = new Scanner(System.in); static int n,m,ans ; static char[][] m原创 2020-09-20 22:16:03 · 454 阅读 · 2 评论 -
判断二分图
题目链接:判断是否为二分图题目描述:给定一个无向图graph,当这个图为二分图时返回true。如果我们能将一个图的节点集合分割成两个独立的子集A和B,并使图中的每一条边的两个节点一个来自A集合,一个来自B集合,我们就将这个图称为二分图。graph将会以邻接表方式给出,graph[i]表示图中与节点i相连的所有节点。每个节点都是一个在0到graph.length-1之间的整数。这图中没有自环和平行边: graph[i] 中不存在i,并且graph[i]中没有重复的值。示例 1:输入: [[1,3]原创 2020-07-16 12:26:40 · 276 阅读 · 0 评论 -
bfs炸弹超人
给出一个炸弹超人的地图,以及超人的初始位置,求解讲炸弹放在哪里使得消灭的敌人最多,障碍物表示为#,敌人表示为G,平地表示为“.”,import java.util.*; //广度优先遍历 class Node{ int x; int y;}public class Main { static Scanner in = new Scanner(System.in原创 2017-09-15 17:30:31 · 450 阅读 · 0 评论 -
bfs走迷宫
import java.util.*; //广度优先遍历 class Node{ int x; int y; int sp;}public class Main { static Scanner in = new Scanner(System.in); static int[][] bool= new int[50][50]; static int原创 2017-09-15 16:33:04 · 397 阅读 · 0 评论 -
dfs走迷宫
import java.util.*;public class Main { static Scanner in = new Scanner(System.in); static int[][] bool= new int[50][50]; static int[][] maze= new int[50][50]; static int min=In原创 2017-09-14 18:35:15 · 432 阅读 · 0 评论 -
dfs暴力满足等式
满足等式XXX+XXX=XXX的等式有多少个,X的范围为1到9,import java.util.*;public class Main { static Scanner in = new Scanner(System.in); static int[] bool= new int[10]; static int[] a= new int[10];原创 2017-09-14 17:51:50 · 342 阅读 · 0 评论 -
带分数
00 可以表示为带分数的形式:100 = 3 + 69258 / 714 还可以表示为:100 = 82 + 3546 / 197 注意特征:带分数中,数字1~9分别出现且只出现一次(不包含0)。 类似这样的带分数,100 有 11 种表示法。 题目要求:从标准输入读入一个正整数N(N<1000*1000)程序输出该数字用数码1~9不重复不遗漏地组成带分数表示的全部种...原创 2018-03-13 20:40:28 · 1438 阅读 · 0 评论 -
蓝桥杯凑算式--注意精度问题
2016第三题凑算式 B DEFA + — + -——— = 10 C GHI(如果显示有问题,可以参见【图1.jpg】)这个算式中A~I代表1~9的数字,不同的字母代表不同的数字。比如:6+8/3+952/714 就是一种解法,5+3/1+972/486 是另一种解法。这个算式一共有多少种解法?分析:这个题很简单,就是爆搜即可,但是要注意精度问题,太...原创 2018-03-29 21:25:39 · 268 阅读 · 0 评论 -
leetcode电话号码的字母组合
题目链接:https://leetcode-cn.com/problems/letter-combinations-of-a-phone-number/题目描述:给定一个仅包含数字 2-9 的字符串,返回所有它能表示的字母组合。给出数字到字母的映射如下(与电话按键相同)。注意 1 不对应任何字母。示例:输入:"23"输出:["ad", "ae", "af", "bd", "be", "bf", "cd", "ce", "cf"].说明:尽管上面的答案是按字典序排列的,但是.原创 2020-06-05 00:07:42 · 195 阅读 · 0 评论 -
leetcode679组合值为24
思路:先选2个数并计算结果,用这个新的值再和剩下的数继续组合计算(同时把原来2个数移除),最后剩下一个数,即最后的结果,判断是否为24即可(注意浮点数)。又加法和乘法满足交换律,因此可以进行剪枝,同时除法运算要判断除数是否为0。当某个组合不满足时进行回溯,此时要把原来加入的数移除。import java.util.*;public class Main { static Scann...原创 2020-04-19 00:37:05 · 359 阅读 · 0 评论 -
2021华为笔试4.8题解
第一题:编码数目 题目:输入N,M,求N+N^2+N^3+...+N^M的结果(取余1000000007),1<N<=65536,1<M<=100000 输入格式:每行输入N M,直到N M均等于0时跳出 输出格式:每行输出对应的结果解题思路:快速幂(实质对幂指数进行二进制转换,将累乘拆分),不了解的可以查找一下import java.uti...原创 2020-04-13 22:45:02 · 2082 阅读 · 1 评论 -
调整数组使差最小--有两个序列a,b,大小都为n,序列元素的值任意整数,无序
调整数组使差最小Description有两个序列 a,b,大小都为 n,序列元素的值任意整数,无序; 要求:通过交换 a,b 中的元素,使[序列 a 元素的和]与[序列 b 元素的和]之间的差最小。Input输入第一行为用例个数, 每个测试用例输入为两行,分别为两个数组,每个值用空格隔开。Output输出变化之后的两个数组内元素和的差绝对值。Sample Input 1110...原创 2019-10-22 17:42:58 · 647 阅读 · 0 评论 -
牌型种数
牌型种数小明被劫持到X赌城,被迫与其他3人玩牌。一副扑克牌(去掉大小王牌,共52张),均匀发给4个人,每个人13张。这时,小明脑子里突然冒出一个问题:如果不考虑花色,只考虑点数,也不考虑自己得到的牌的先后顺序,自己手里能拿到的初始牌型组合一共有多少种呢?请填写该整数,不要填写任何多余的内容或说明文字。分析:每种牌型的可以选择的个数为:0,1,2,3,4,只要总的牌张数等于13即可满足要求。impo...原创 2018-03-11 20:19:46 · 238 阅读 · 0 评论 -
泊松分酒--广搜or数学分析
泊松是法国数学家、物理学家和力学家。他一生致力科学事业,成果颇多。有许多著名的公式定理以他的名字命名,比如概率论中著名的泊松分布。有一次闲暇时,他提出过一个有趣的问题,后称为:“泊松分酒”。在我国古代也提出过类似问题,遗憾的是没有进行彻底探索,其中流传较多是:“韩信走马分油”问题。有3个容器,容量分别为12升,8升,5升。其中12升中装满油,另外两个空着。...原创 2018-03-14 12:57:15 · 683 阅读 · 0 评论 -
滑雪--记忆化搜索
题目信息:Michael喜欢滑雪百这并不奇怪, 因为滑雪的确很刺激。可是为了获得速度,滑的区域必须向下倾斜,而且当你滑到坡底,你不得不再次走上坡或者等待升降机来载你。Michael想知道载一个区域中最长底滑坡。区域由一个二维数组给出。数组的每个数字代表点的高度。下面是一个例子 1 2 3 4 5 16 17 18 19 6 15 24 25 20 7 14 23 22 21 8 1...原创 2018-03-24 19:28:14 · 242 阅读 · 0 评论 -
蓝桥杯-跳蚱蜢--bfs
题意:有9只盘子,排成1个圆圈。 其中8只盘子内装着8只蚱蜢,有一个是空盘。 我们把这些蚱蜢顺时针编号为 1~8 每只蚱蜢都可以跳到相邻的空盘中,也可以再用点力,越过一个相邻的蚱蜢跳到空盘中。 请你计算一下,如果要使得蚱蜢们的队形改为按照逆时针排列, 并且保持空盘的位置不变(也就是1-8换位,2-7换位,...),至少要经过多少次跳跃? 注意:要求提交的是一个整数,请不要填写任何多余内容或...原创 2018-03-27 20:24:16 · 791 阅读 · 2 评论 -
倒水问题--bfs+Priority_queue+二维标记数组
描述: 有3个容器(没有刻度),容量分别为a升,b升,c升。其中c升中装满油,另外两个空着。 要求你只用3个容器操作,最后使得某个容器中正好有d升油。要求求出最小的倒水量。分析:由于容器没有刻度,那么杯子里面的水肯定是整数。在倒水的时候,我们只能选择把自己倒完或者将别人倒满(没有刻度)。那么就相当于搜索一个隐式的图,图的每一个节点是三个杯子当前的状态,因此我们可以去搜索遍历这个图来达到目...原创 2018-06-11 20:11:24 · 864 阅读 · 0 评论 -
求解数组中几个数之和为给定值
描述:求解数组中使得某几个数的和为给定值,数的数目没有限制,可能为1个或者n个,递归求解(实质就是搜索),并对解空间进行分支限界来减少运行时间思路:没有进行限定的条件下,我们就直接对所有可能进行搜索,但是我们可以来分析一下,什么情况下可以选择a[i],什么情况下又不选择呢?可以得出,如果has(表示当前已经累加的和)+a[i]<=sum&&has+r(表示数组剩余部分的和...原创 2018-08-04 15:50:27 · 2839 阅读 · 0 评论 -
红黑瓷砖--dfs求解
有一个矩形房间,覆盖正方形瓷砖。每块瓷砖涂成了红色或者黑色。一名男子站在黑色的瓷砖上,由此出发,可以移到四个相邻瓷砖之一。但是他不能移到红砖上,只能移动到黑砖上。编写一个程序,计算通过重复上述移动所能经过的黑砖数。输入输入包含多个数据集,一个数据集开头行包含两个正整数W和H,W和H分别表示矩形房间的列数和行数,且都不超过20。 每个数据集有H行,其中每行包括W个字符。每个字符的含义如下:‘.’ –...原创 2017-10-16 14:03:17 · 1779 阅读 · 0 评论 -
蹲草丛-dfs或者bfs找最小的连着草丛i
题目描述众所周知,LOL这款伟大的游戏,有个叫盖伦的英雄。他的伟大之处在于他特别喜欢蹲草丛阴人。某日,德玛西亚与诺克萨斯之间又发生了一场战斗,嘉文四世希望盖伦能带领一支K人的德玛西亚军队出战。战斗发生在召唤师峡谷。整个召唤师峡谷被分割成M行N列的一个矩阵,矩阵中有空地和几片草丛。这几片草丛中有些很大、有些很小。一个1×1的草丛能容纳3个士兵,盖伦坚信蹲草偷袭战术能战胜诺克萨斯军队,所以他希望他的军...原创 2020-06-05 11:05:23 · 512 阅读 · 0 评论 -
蓝桥杯数独
你一定听说过“数独”游戏。如【图1.png】,玩家需要根据9×9盘面上的已知数字,推理出所有剩余空格的数字,并满足每一行、每一列、每一个同色九宫内的数字均含1-9,不重复。数独的答案都是唯一的,所以,多个解也称为无解。本图的数字据说是芬兰数学家花了3个月的时间设计出来的较难的题目。但对会使用计算机编程的你来说,恐怕易如反掌了。本题的要求就是输入数独题目,程序输出数独的唯一解。我们保证所有已知数据的...原创 2018-02-13 21:24:55 · 508 阅读 · 0 评论 -
搜索算法的剪枝优化
概要:众所周知,搜索算法分为深度优先搜索和广度优先搜索两种。深度优先算法就是一条道走到底,直到走到了死胡同就会回溯继续寻找下一条路径直到找到可行结果。广度优先搜索就是一层一层的进行扩展,在每一步可达的基础之上再进一步扩展,直到叶子节点一定会有结果值。但是,深搜的时间复杂度令人头疼,而广搜的空间复杂度也是令人望而生怯。于是就出现了剪枝这一种优化方法,因为我们在进行搜索时实际上形成了一棵搜索树,而剪枝原创 2017-11-02 15:44:53 · 1673 阅读 · 0 评论 -
hdu搜索练习
刷题是人生最大的乐趣,也是通往成功的捷径加油啦,附上大佬的刷题链接http://blog.csdn.net/qq_31736627/article/details/53409662http://www.cnblogs.com/kiwi-bird/archive/2012/11/24/2785247.html转载 2017-11-02 11:09:28 · 355 阅读 · 0 评论 -
G - 非常可乐--重复广搜
大家一定觉的运动以后喝可乐是一件很惬意的事情,但是seeyou却不这么认为。因为每次当seeyou买了可乐以后,阿牛就要求和seeyou一起分享这一瓶可乐,而且一定要喝的和seeyou一样多。但seeyou的手中只有两个杯子,它们的容量分别是N 毫升和M 毫升 可乐的体积为S (SInput三个整数 : S 可乐的体积 , N 和 M是两个杯子的容量,以"0 0 0"结束。Output原创 2017-11-02 10:26:51 · 410 阅读 · 0 评论 -
搜索算法king——A*初识
最近在做搜索的练习,老是听到大神们说什么A*算法,听起很高大上的样子,于是我这个菜鸟出于好奇百度了一下,发现真是好玩死了,对于搜索算法我们都知道有深搜和广搜,深搜一般用来解决数据不是很大(二维数组一般不超过20),并且有的时候需要搜索全部可能性的时候,而广搜除了可以用来解决上述问题以外,还可以用来解决最优解问题。但是大家都清楚,深搜对于时间复杂度有要求而广搜对于空间的消耗也是很大,那么A*算法便脱原创 2017-10-29 13:50:29 · 512 阅读 · 0 评论 -
A-素数环dfs
A ring is compose of n circles as shown in diagram. Put natural number 1, 2, ..., n into each circle separately, and the sum of numbers in two adjacent circles should be a prime. Note: the number原创 2017-10-28 09:13:17 · 340 阅读 · 0 评论 -
Oil Deposits --dfs
The GeoSurvComp geologic survey company is responsible for detecting underground oil deposits. GeoSurvComp works with one large rectangular region of land at a time, and creates a grid that divides th原创 2017-10-28 10:41:29 · 265 阅读 · 0 评论 -
Find a way -从两个点分别bfs
Pass a year learning in Hangzhou, yifenfei arrival hometown Ningbo at finally. Leave Ningbo one year, yifenfei have many people to meet. Especially a good friend Merceki. Yifenfei’s home is at the c原创 2017-10-28 12:51:16 · 343 阅读 · 0 评论 -
fire!--两次bfs
Fire!Joe works in a maze. Unfortunately,portions of the maze have caught on fire, and the owner of the maze neglectedto create a fire escape plan. Help Joe escape the maze.Given Joe's location in the ...原创 2017-10-28 16:33:17 · 584 阅读 · 0 评论 -
Hdu--Rescue之bfs加优先队列
Angel was caught by the MOLIGPY! He was put in prison by Moligpy. The prison is described as a N * M (N, M Angel's friends want to save Angel. Their task is: approach Angel. We assume that "approa原创 2017-11-02 19:11:41 · 398 阅读 · 0 评论 -
Tempter of the Bone--dfs加剪枝优化
Problem DescriptionThe doggie found a bone in an ancient maze, which fascinated him a lot. However, when he picked it up, the maze began to shake, and the doggie could feel the ground sinking. He原创 2017-11-02 13:04:57 · 304 阅读 · 0 评论 -
六角填数--dfs
如图【1.png】所示六角形中,填入1~12的数字。 使得每条直线上的数字之和都相同。 图中,已经替你填好了3个数字,请你计算星号位置所代表的数字是多少?import java.util.*;public class Main { static Scanner in = new Scanner(System.in); static int n, m; static ...原创 2018-02-12 12:04:55 · 244 阅读 · 0 评论 -
奇怪的比赛
某电视台举办了低碳生活大奖赛。题目的计分规则相当奇怪: 每位选手需要回答10个问题(其编号为1到10),越后面越有难度。答对的,当前分数翻倍;答错了则扣掉与题号相同的分数(选手必须回答问题,不回答按错误处理)。 每位选手都有一个起步的分数为10分。 某获胜选手最终得分刚好是100分,如果不让你看比赛过程,你能推断出他(她)哪个题目答对了,哪个题目答错了吗?原创 2018-02-04 11:48:53 · 193 阅读 · 0 评论 -
剪格子--dfs
题目描述如图p1.jpg所示,3 x 3 的格子中填写了一些整数。 我们沿着图中的红色线剪开,得到两个部分,每个部分的数字和都是60。 本题的要求就是请你编程判定:对给定的m x n 的格子中的整数,是否可以分割为两个部分,使得这两个区域的数字和相等。 如果存在多种解答,请输出包含左上角格子的那个区域包含的格子的最小数目。 如果无法分割原创 2017-11-22 18:19:00 · 363 阅读 · 0 评论 -
bfs寻找最短路径并且打印路径和方向
import java.util.*;public class Main { static Scanner in = new Scanner(System.in); static int m,n,sp,ep; static int[][] vis = new int[105][105]; static int[][] ma = new int[105][105];原创 2017-10-30 20:39:07 · 2790 阅读 · 0 评论 -
Catch That Cow --bfs
Farmer John has been informed of the location of a fugitive cow and wants to catch her immediately. He starts at a point N (0 ≤ N ≤ 100,000) on a number line and the cow is at a point K (0 ≤ K ≤ 100,0原创 2017-11-04 20:26:44 · 280 阅读 · 0 评论 -
经典回溯八皇后问题--递归
是一个古老而著名的问题,是回溯算法的典型案例。该问题是国际西洋棋棋手马克斯·贝瑟尔于1848年提出:在8×8格的国际象棋上摆放八个皇后,使其不能互相攻击,即任意两个皇后都不能处于同一行、同一列或同一斜线上,问有多少种摆法。 高斯认为有76种方案。1854年在柏林的象棋杂志上不同的作者发表了40种不同的解,后来有人用图论的方法解出92种结果分析:我们对于每一行进行摆放,设pos[i]的值表示第i原创 2017-11-04 19:08:48 · 399 阅读 · 0 评论 -
棋盘问题 --dfs加回溯
在一个给定形状的棋盘(形状可能是不规则的)上面摆放棋子,棋子没有区别。要求摆放时任意的两个棋子不能放在棋盘中的同一行或者同一列,请编程求解对于给定形状和大小的棋盘,摆放k个棋子的所有可行的摆放方案C。Input输入含有多组测试数据。 每组数据的第一行是两个正整数,n k,用一个空格隔开,表示了将在一个n*n的矩阵内描述棋盘,以及摆放棋子的数目。 n 当为-1 -1时表示输入结束原创 2017-11-04 12:13:55 · 305 阅读 · 0 评论 -
dfs-字符全排列
package aaa;import java.util.*;public class Main { static Scanner in = new Scanner(System.in); static boolean[] vis= new boolean[28]; static char[] ans= new char[26]; static char[] c = n原创 2017-11-18 15:55:56 · 383 阅读 · 0 评论