随笔分类 - 搜索-bfs
摘要:双栈排序 题目链接:https://www.luogu.org/problem/P1155 数据范围:略。 题解: 神仙题。 就第一步就够劝退了。 这个二分图非常不容易,首先只有两个栈,不是属于一个就是属于另一个,我们用二分图判断冲突。 然后不能模拟,我们就贪心的bfs就行了,这一步很鬼畜啊....
阅读全文
摘要:Find a Number 题目链接:http://codeforces.com/problemset/problem/1070/A 数据范围:略。 题解: 因为$d$和$s$比较小可以搜。 这就很$gay$了...我根本没想到可以宽搜。 想到搜索就非常简单了,从小到大枚举就好了。 代码:
阅读全文
摘要:奶牛美容 题目链接:https://www.luogu.org/problem/P2124 数据范围:略。 题解: 发现数据范围只有$50$,显然可以直接$bfs$求出联通块,$floyd$求出相邻两点最短路。 但是吧,不能把两个联通块之间取最短路然后加和。 因为可能存在一个点变成$*$,它既贡献了
阅读全文
摘要:牛跑步 bzoj-1598 题目大意:给你n个点,m条边的有向图。求从1到n的严格的第k短路。 注释:$1\le n\le 1000$,$1\le m \le 10,000$,$1\le k \le 100$。 想法: A*:俗称机器人走路算法。就是说从一个点走到另一个点的最短路径,显然可以bfs。
阅读全文
摘要:迷宫问题 题目大意:给你一个5*5的矩阵,求左上角到左下角的最短路径。 注释:0或1的矩阵,1表示不能走,0表示能走,保证有唯一最短路径。 想法:bfs爆搜练习题。通过其实点,定义方向数组,然后进行bfs遍历即可。 最后,附上丑陋的代码... ... 小结:水题,注意bfs时需要pop以及边界特判。
阅读全文
摘要:Catch That Cow 题目大意:FrammerJohn找奶牛,给出n和k。FJ在n处。每次他可以向左移动一格、向右移动一格或者移动到自己当前格子数乘2的地方。求FJ最少移动多少次。其中,FJ和Cow在数轴上。 注释:$1<=n,k<=10^5$。 想法:又是一道bfs裸题。就是通过简单的bf
阅读全文
摘要:Knight Moves poj-1915 题目大意:在国际象棋中有一个骑士,想从一个点到达另一个点。骑士可以从2*3的矩阵的一角跳到对角线的另一角。问:骑士最少需要跳多少次才能从一个点跳到另一个点。 注释:棋盘大小l为1<=l<=300. 想法:显然,这是一道非常经典的宽度优先搜索的题目(bfs)
阅读全文
摘要:Find The Multiply poj-1426 题目大意:给你一个正整数n,求任意一个正整数m,使得n|m且m在十进制下的每一位都是0或1。 注释:n<=200。 想法:看网上的题解全是bfs乱搜(其实我的做法也是bfs),我来说一说我这简单的bfs。其实这道题的精髓就在于如何考虑对于大数的处
阅读全文
摘要:Anagram poj-1256 题目大意:给你n个字符串,求每一个字符串所有字符的全排列,按照顺序输出所有全排列。 注释:每一个字符长度小于13,且字符排序的顺序是:A<a<B<b<C<c<...<Y<y<Z<z 想法:哇塞,我是读完了题,完全码完了之后才发现顺序不是字典序的... ...悲催。这
阅读全文
摘要:jdoj1497-vijos1406古韵之鹊桥相会 题目大意:给你一个m行n列的字母矩阵,有一个人,每一次可以将几个联通块打没。联通块的定义是两个挨着的字母,如果他们两个相同,那么就说他们两个是联通的。求:从上面到下面,最少打几次才可以到达。 注释:n,m<21。 想法:先说网上的主流题解。大部分的
阅读全文