
BFS
ssllyr
锦瑟无端五十弦,一弦一柱思华年。
展开
-
【AtCoder - abc315_e】Prerequisites【拓扑,BFS】
一眼拓扑,但是写到一半发现又问题,注意到从1开始,每个出边所对应的书都必须读,所以改为从1开始BFS,记录所有要读的书,然后按照拓扑序跑一边碰到要读的就输出,保证可以符合顺序上的要求。但是实际上搜一遍就可以了,直接DFS,从1开始对于每个最先搜完的节点输出就行,也就是逆DFS序(posdfn),等同于拓扑序。原创 2023-08-21 16:57:46 · 124 阅读 · 0 评论 -
【洛谷P2296】寻找道路【BFS】
BFS原创 2022-08-26 17:54:51 · 215 阅读 · 1 评论 -
【gzoj综合】五香豆腐【BFS+位运算】
BFS+位运算原创 2022-08-24 10:18:15 · 91 阅读 · 0 评论 -
【8.8gzoj综合】师生树【BFS】
BFS原创 2022-08-10 17:38:17 · 150 阅读 · 0 评论 -
【洛谷P1379】八数码难题【BFS】【康托(逆)展开】
BFS+康托原创 2022-08-06 09:10:35 · 198 阅读 · 0 评论 -
【洛谷P1225】黑白棋游戏【DFS】【状压】
BFS原创 2022-08-05 22:00:48 · 755 阅读 · 0 评论 -
【8.4gzoj T4】解药毒药【状压BFS】
BFS原创 2022-08-04 19:41:52 · 110 阅读 · 0 评论 -
【8.23模拟赛T2.1297】滑雪cowski【BFS】
题目链接:https://gmoj.net/senior/#main/show/1297分析一开始打了个暴搜挂掉了。。后面看了题解改了个BFS,一个队列结构体记录坐标和速度,dis[i][j]dis[i][j]dis[i][j]表示(1,1)(1,1)(1,1)到(i,j)(i,j)(i,j)的最小时间。做一个类似SPFA的东西,就可以像求最短路一样求出来。注意精度!!!(get函数手动四舍五入¿)侯哥卡精度一下午最后还是打了个小表才过上代码#include<iostream>.原创 2021-08-24 15:51:00 · 125 阅读 · 0 评论 -
【gmoj4757】【8.12模拟赛T2】树上摩托【BFS】
题目链接:树上摩托分析一开始想偏了,没有看到约数的性质。后面玩玩发现了一些性质:树的大小只可能是 N 的约数树的大小确定的话,方案最多只有一种将原树看做有根树,预处理每个节点的父亲,每个节点的size标为1。然后循环从后往前取出队列里面的数(只能手动队列qwq)。累加子树size大小。开一个桶,统计每个大小的子树的数量。枚举n的所有约数(树的大小)k,判断子树大小是k的倍数的节点数量是否为n/k。上代码#include<iostream>#include<...原创 2021-08-13 08:21:48 · 83 阅读 · 0 评论 -
【ybtoj 1.5 高效进阶】C.立体堆箱子【广搜】
分析将长方体3种摆放情况记录下来立着就只记录本身,竖着记录下面的,横着记录右边的然后算出三种情况走的分别是哪几种状态经典广搜跑一遍记录一下步数上代码#include<iostream>#include<cstdio>#include<algorithm>#include<cstring>using namespace std;struct lwx{ int x,y,t,b;}q[1000001];char c;int n,..原创 2021-01-22 21:19:03 · 113 阅读 · 2 评论 -
【ybtoj 1.5 高效进阶】B.山峰与山谷【广搜】
分析先枚举每一个点,如果没有访问过,就搜索整个高度一样的“块”。然后判断这个块的旁边是比他高还是矮累加山峰和山谷的数量上代码#include<iostream>#include<cstdio>#include<algorithm>using namespace std;struct node { int x,y;}q[1000001];int n,cnt,sf,sg;int a[1001][1001];int v[1001][1001];..原创 2021-01-22 14:41:20 · 123 阅读 · 0 评论 -
【ybtoj 高效进阶 1.5】A.走迷宫【广搜】
分析广搜模板,注意入队出队。上代码#include<iostream>#include<cstdio>#include<algorithm>using namespace std;char a[1001][1001];int qx[1000001],qy[1000001];int n,t,h,sx,sy,ex,ey;int p[1001][1001],f[1001][1001];int dx[5]={0,1,0,-1,0};int dy[5]=.原创 2021-01-22 08:27:16 · 146 阅读 · 2 评论 -
【SSL2325】最小转弯问题【BFS】
Description给出一张地图,这张地图被分为 n×m(n,m<=100)个方块,任何一个方块不是平地就是高山。平地可以通过,高山则不能。现在你处在地图的(x1,y1)这块平地,问:你至少需要拐几个弯才能到达目的地(x2,y2)?你只能沿着水平和垂直方向的平地上行进,拐弯次数就等于行进方向的改变(从水平到垂直或从垂直到水平)的次数。例如:如图 1,最少的拐弯次数为5。Input第...原创 2019-12-07 08:53:24 · 532 阅读 · 0 评论 -
【ssl1692】USACO魔板 (BFS-HASH)
Description在成功地发明了魔方之后,拉比克先生发明了它的二维版本,称作魔板。这是一张有8个大小相同的格子的魔板:1 2 3 48 7 6 5 我们知道魔板的每一个方格都有一种颜色。这8种颜色用前8个正整数来表示。可以用颜色的序列来表示一种魔板状态,规定从魔板的左上角开始,沿顺时针方向依次取出整数,构成一个颜色序列。对于上图的魔板状态,我们用序列(1,2,3,4,5,6,7,8)来表示。这是基本状态。 这里提供三种基本操作,分别用大写字母“A”,“B”,“C”来表示(可以通过这些操作改原创 2020-07-19 19:07:11 · 197 阅读 · 0 评论 -
2020寒假【gmoj1598】【GDKOI2004】【城市统计city】【BFS+区间前缀和】
题目描述中山市的地图是一个n* n的矩阵,其中标号为1的表示商业区,标号为0的表示居民区。为了考察市内居民区与商业区的距离,并对此作出评估,市长希望你能够编写一个程序完成这一任务。 居民区i到商业区的距离指的是到距离它最近的商业区j的距离(|Xi-Xj|+|Yi-Yj|)(你可以理解为他们的行列分别作差),而你将统计的是对于城市中的每一个区域k,以它为中心的(2* r+1)* (2 * r+1)...原创 2020-03-24 20:44:33 · 143 阅读 · 1 评论 -
2020寒假【gmoj1964】【马语翻译】【邻接表bfs】
题目描述随着马场的繁荣,出现了越来越多的新马种。种族之间的沟通不畅严重影响了马场的和谐。这时,科学家发明了马语翻译机器人,正好可以解决这一难题。机器人有 M 种,每种机器人能完成 K 个马种之间的语言翻译。问,利用这些机器人,能否实现 1 种群和 N 种群的马语翻译。 若可以,找到翻译过程至少需要用到多少种语言。输入第一行三个整数 N, K 和 M,分别表示语言数, 每个机器人能翻译的语言...原创 2020-02-15 15:17:07 · 249 阅读 · 1 评论 -
【SSL1786】麻将游戏
#include<iostream>#include<cstdio>using namespace std; int st[10001][4]; int n,m,qx,qy,zx,zy;int h,t;int dx[5]={0,1,0,-1,0};int dy[5]={0,0,1,0,-1};int a[101][101],c[101][101];void...原创 2019-12-14 08:29:06 · 349 阅读 · 1 评论