图论
划划的北北
这个作者很懒,什么都没留下…
展开
-
the minest way 【ZT2】
T2:Frogger【最短路+二分】Freddy Frog is sitting on a stone in the middle of a lake. Suddenly he notices Fiona Frog who is sitting on another stone. He plans to visit her, but since the water is dirty and full of tourists' sunscreen, he wants to avoid swimming原创 2022-03-08 19:56:26 · 103 阅读 · 0 评论 -
洛谷 P1162 填涂颜色 【BFS与DFS处理连通块问题】
题目描述由数字00组成的方阵中,有一任意形状闭合圈,闭合圈由数字11构成,围圈时只走上下左右44个方向。现要求把闭合圈内的所有空间都填写成22.例如:6 \times 66×6的方阵(n=6n=6),涂色前和涂色后的方阵如下:0 0 0 0 0 00 0 1 1 1 10 1 1 0 0 11 1 0 0 0 11 0 0 0 0 11 1 1 1 1 10 0 0 0 0 00 0 1 1 1 10 1 1 2 2 11 1 2 2 2 11 2 2 2 2 11 1原创 2021-12-13 21:25:31 · 115 阅读 · 0 评论 -
HDU2102A计划
一开始我用的两个二维数组相互传递信息,WA死我了,考虑再多也考虑不全面但是我还是考虑到了两个重要的点:1.传送门传送过去的位置不可以也是一个传送门,这样会无限循环2.传送门传送过去遇到一面墙,那这样走不通的,如果不撞南墙不回头,那是挂了的,但毕竟是搜索,可以搜出一条合二维数组的代码远没有三维简洁下面是正确的三维数组代码#include <iostream> #include <cstring>#include <algorith原创 2021-12-09 22:58:21 · 124 阅读 · 0 评论 -
acwing 848 有向图的拓扑序列 拓扑序列
848. 有向图的拓扑序列 给定一个nn个点mm条边的有向图,点的编号是11到nn,图中可能存在重边和自环。请输出任意一个该有向图的拓扑序列,如果拓扑序列不存在,则输出−1−1。若一个由图中所有点构成的序列AA满足:对于图中的每条边(x,y)(x,y),xx在AA中都出现在yy之前,则称AA是该图的一个拓扑序列。输入格式第一行包含两个整数nn和mm。接下来mm行,每行包含两个整数xx和yy,表示存在一条从点xx到点...转载 2021-11-14 16:08:38 · 177 阅读 · 0 评论 -
八数码 BFS
在一个3×33×3的网格中,1∼81∼8这88个数字和一个x恰好不重不漏地分布在这3×33×3的网格中。例如:1 2 3x 4 67 5 8在游戏过程中,可以把x与其上、下、左、右四个方向之一的数字交换(如果存在)。我们的目的是通过交换,使得网格变为如下排列(称为正确排列):1 2 34 5 67 8 x例如,示例中图形就可以通过让x先后与右、下、右三个方向的数字交换成功得到正确排列。交换过程如下:1 2 3 1 2 3 ...原创 2021-11-13 20:50:18 · 107 阅读 · 0 评论 -
洛谷 P1958上学路线 BFS
一般用BFS都是为了求最短路,但实际上BFS是盲目搜寻法,起点到终点有多少条不同的路线也能搜到(没有vis[]标记),不仅仅是最短路(有vis标记)能被搜到1.本题因为要搜多少条路径,所以不需要用vis数组标记是否访问过,可能会重复经过某个坐标2.终点不需要入队,不需要从终点扩展,没有意义上代码#include <cstdio>#include <cmath>#include <cstring>#include <iostream>..原创 2021-09-29 21:30:33 · 236 阅读 · 0 评论 -
迪杰特斯拉与SPFA的区别,负权边问题
----------最大的区别是迪杰不能处理负权边而SPFA可以好少发博客,这是以前的笔记**1.迪杰处理不了负权边**原因如下:迪杰的特点是 用堆排序优化,出队一个点,如果它没被true(**这里用true代指被访问过**),就true了它;要是它被true了,就跳过这个点。**被true了的点,它的dis是没有机会再次被更新的**,它只能去更新其他未被ture的点(没被访问过的)。队列里面既有被true的点,也有没被true的,在队列里面自动完成堆排序,不断出队。假设1是起点,我们.原创 2021-09-28 23:28:41 · 269 阅读 · 0 评论