
搜索
深搜广搜
Layne...
遇事不决,可问春风
展开
-
试题J:奇怪的回路(dfs)
数据规模:n ≤ 2×106 / 时限:1s题解其实这道题类同一个哈密顿回路。可知n为奇数且n不为1时是无解的,所以可特判n奇数时输出-1。首先dfs + 回溯可计算到n为220,之后便会tle。ac做法:直接dfs一遍,不用回溯标记,这样每个点都只会尝试两次(第二次直接返回)。Code//TLE#include<bits/...原创 2020-03-29 23:23:13 · 282 阅读 · 0 评论 -
蓝桥杯校内模拟赛—— 长草 ( bfs )
问题描述 小明有一块空地,他将这块空地划分为 n 行 m 列的小块,每行和每列的长度都为 1。小明选了其中的一些小块空地,种上了草,其他小块仍然保持是空地。这些草长得很快,每个月,草都会向外长出一些,如果一个小块种了草,则它将向自己的上、下、左、右四小块空地扩展,这四小块空地都将变为有草的小块。 请告诉小明,k 个月后空地上哪些地方有草。输入格式 输入的第一行包含两个整数 n, m。...原创 2020-03-18 17:50:48 · 440 阅读 · 0 评论 -
Diamond Heart(dfs)
题目Sample1输入31 2 12 3 2输出6Sample2输入101 2 31 3 41 4 52 5 83 6 76 7 107 8 128 9 133 10 2输出966题解注意到,此题如果去枚举dist,那么复杂度最优也是O(n^2logn)的。我们考虑dist的意义。对于每一条边,这条边两端上,左半边的点与右半边的点,一定会经过这条...原创 2020-02-27 10:28:29 · 215 阅读 · 0 评论 -
记忆化搜索(Memory Search)
Question输入n,符合要求的序列为:第一个数为n,第二个数不大于n,从第三个数起小于前两个数的差的绝对值,后面以此类推。求有多少种序列?(数据:n最大为1000)Sampleinput:4 / output:7input:5 / output:14input:6 / output:26Hintn为4时有如下序列:4 14 24 34 44 1 14 1 24 2 ...原创 2020-02-25 16:22:39 · 3797 阅读 · 0 评论 -
最小费用 (bfs+priority_queue)
题目题解这题用单纯的广搜能得到从起点到终点的最少步数,但费用却不一定是最小的,故需要在广搜的基础上加上优先队列解决。Code#include<bits/stdc++.h>#define debug1(x) cout<<#x<<"="<<x<<endl#define debug2(x,y) cout...原创 2019-09-06 22:50:00 · 270 阅读 · 0 评论 -
Mud Puddles ( bfs )
传送门题目题解直接bfs就行,有个坑点要注意:因为坐标存在负数,所以可以把所有点都+500转化为正数去做。Code#include<bits/stdc++.h>#define debug1(x) cout<<#x<<"="<<x<<endl#define debug2(x,y) cout<...原创 2019-09-05 22:52:00 · 272 阅读 · 0 评论 -
拓扑排序【Kahn算法(bfs)和dfs求拓扑序列及判环】
拓扑排序对一个有向无环图(Directed Acyclic Graph简称DAG)G进行拓扑排序,是将G中所有顶点排成一个线性序列,该排序满足这样的条件——对于图中的任意两个结点u和v,若存在一条有向边从u指向v,则在拓扑排序中u一定出现在v前面。当且仅当一个有向图为有向无环图(DAG)时才存在对应于该图的拓扑排序。每一个有向无环图都至少存在一种拓扑排序。拓扑排序的实现...原创 2019-11-04 22:20:00 · 785 阅读 · 0 评论 -
2019牛客多校训练第四场A.meeting(dfs / bfs)
题目传送门题意输入n和k表示有n个地点和k个人(n个地点编号1..n)接下来n-1行输入a、b表示地点ab之间有距离为1的通路最后一行输入k个值表示哪些地点有人,求所有人聚在一起的最短时间。(题意其实就是在一棵树上,多个节点有人。选择一个节点使得这些人各自到这个点的路径的最大值最小。)题解官方题解:这道题剪掉不存在人的节点,接下来要求的其实就是树的...原创 2019-08-26 19:15:00 · 164 阅读 · 0 评论 -
n皇后问题(dfs搜索回溯+标记)
洛谷的一道类似的n皇后题:P1219 八皇后Description在n×n 格的棋盘上放置彼此不受攻击的n 个皇后。按照国际象棋的规则,皇后可以攻击与之处在同一行或同一列或同一斜线上的棋子。n后问题等价于在n×n格的棋盘上放置n个皇后,任何两个皇后不放在同一行或同一列或同一斜线上。设计一个解n皇后问题的队列式分支限界法,计算在n×n个方格上放置彼此不受攻击的n个皇后的一个放置方案。注意,本...原创 2019-06-03 18:36:17 · 624 阅读 · 0 评论 -
B.宝可梦中心大对决!(枚举n个元素的子集:dfs法和二进制法)——Comet OJ - 2019六一欢乐赛
题目链接:(https://www.cometoj.com/contest/42/problem/B)赛后题解说这是道简单算法题,不过当时并没做出来,没有想到用dfs深搜去枚举所有的组合情况的暴力方法。(菜是原罪~~)题目:大致题意:给定n(n<=14)个数,请问最多能选几个数,使得选上的数满足任两数互质。注:两个数字互质当且仅当他们没有 1 以外的正公因数。提示:对于样例中第...原创 2019-06-02 23:48:41 · 380 阅读 · 0 评论 -
"Zero Sum" and "Sum to N"(DFS枚举)
这道题卡了好久好久了~~~DescriptionConsider the sequence of digits from 1 through N (where N=9) in increasing order: 1 2 3 … N.Now insert either a ‘+’ for addition or a ‘-’ for subtraction or a ’ ’ [blank] to...原创 2019-05-29 23:26:47 · 255 阅读 · 0 评论 -
数独Sudoku(DFS)
题目:数独是一种填数字游戏,英文名叫 Sudoku。玩家需要根据 9×9盘面上的已知数字,推理出所有剩余位置的数字,并满足每一行、每一列、每一个粗线九宫格内的数字包含有 1-9 的数字,且不重复。输入描述:多测试用例,输入T表示测试用例个数。输入每一组数据,共 9 行 9 列,表示初始数独(其中 0 表示数独中的空位)。输出描述:输出共 9 行 9 列,表示数独的解。Sample...原创 2019-06-06 18:59:26 · 1437 阅读 · 0 评论 -
Hamilton路径(DFS)
该题做法与分道扬镳(DFS+剪枝+邻接表)是基本一样的。题目:Hamilton路径给出一个连通的有向图,求图中顶点1到顶点n的、经过其余顶点一次且仅一次的最短路径及其长度。Input单测试用例。第一行是两个整数N,E,N表示顶点个数( 1 ≤ N ≤ 40 ),E表示弧的数量( N < E < 200 )。接下来E行,每行是空格分隔的3个整数u, v, l,分别表示从顶点u...原创 2019-05-27 23:54:33 · 1235 阅读 · 0 评论 -
排列组合(DFS实现)
全排列:计算出n个整数的全排列种数,并输出这所有的排列。假设这n个整数是 1 ~ nInput一个整数 n ( 1 ≤ n ≤ 9 )Output第一行输出全排列的个数a,接下来a行,每行一个排列。Sample Input3Sample Output61 2 31 3 22 1 32 3 13 1 23 2 1#include<stdio.h>in...原创 2019-05-27 11:03:54 · 1815 阅读 · 0 评论 -
分道扬镳(DFS+剪枝+邻接表)
题目:Time Limit: 300msDescription编号为1…N 的N个城市之间以单向路连接,每一条道路有两个参数:路的长度和通过这条路需付的费用。Bob和Alice生活在城市1,但是当Bob发现了Alice玩扑克时欺骗他之后,他决定与她翻脸,离开城市1前往城市N。Bob想尽快到达城市N,但是他的钱不多。希望你帮助Bob找到一条从城市1到城市N的总费用不超过Bob的承受能力的最...原创 2019-05-26 23:13:38 · 509 阅读 · 1 评论 -
深搜dfs和广搜bfs(例题)
题目:input:第一线具有两个正整数n,m,用空格隔开(1≤ n,m ≤100),n用于行,m为列。接着有两个正整数X,Y,用空格隔开(1≤ X ≤ n,1≤ Y ≤ m)指示终点坐标。接下来是n行和m列的映射,0表示空白区域,1表示障碍物,起点坐标固定(1,1)。(只能上,下,左或右,每步需要1分钟。输入数据确保终点可以到达)output:输出从起点到终点所需的最短时间(单位:分钟)...原创 2019-03-21 13:56:41 · 951 阅读 · 0 评论 -
问号(深搜枚举)
Description给出两个字符串:s与t,长度一样。t只包含数字,而s除了数字还可能含有"?",问将s的问号变成数字后得到的数之中,有多少个数是大于t的。一个"?"只能变成一个数字。Input有多组测试数据。每组测试数据第一行是字符串s,第二行是字符串t。字符串的长度为length( 1 ≤ length ≤ 10 )。当遇到"#"时结束输入。Output为每组测试数据输出一行结果:...原创 2019-05-17 22:06:03 · 213 阅读 · 0 评论 -
宽度优先遍历Or宽度优先搜索详解
(转)宽度优先搜索(BFS, Breadth First Search)是一个针对图和树的遍历算法。发明于上世纪50年代末60年代初,最初用于解决迷宫最短路径和网络路由等问题。对于下面的树而言,BFS方法首先从根节点1开始,其搜索节点顺序是1,2,3,4,5,6,7,8。 BFS使用队列(queue)来实施算法过程,队列(queue)有着先进先出FIFO(First Input F...转载 2019-05-21 13:33:26 · 558 阅读 · 0 评论 -
小花梨判连通(DFS或BFS或并查集+vector+map)——“美登杯”上海市高校大学生程序设计邀请赛 (华东理工大学)
(https://acm.ecnu.edu.cn/contest/173/problem/C/)题目大意:小花梨给出原创 2019-05-24 22:41:07 · 210 阅读 · 0 评论