广度优先搜索(Breadth First Search, BFS) BFS算法实现的一般思路为: // BFS void BFS(int s){ queue<int> q; // 定义一个队列 q.push(s); // 队首元素入队 while (!q.empty()){ // 取出队首元素top ...
分类:
其他好文 时间:
2020-01-27 18:50:43
阅读次数:
68
将辈分差距转为数字 例如 A 是 B son A=B-1 A 是 B grandfather A=B+2然后编号1数字设置为0,建图bfs 最后搜索编号2到100是否存在>0的数即可 1 /* 2 Written By. StelaYuri 3 On 2020/01/15 4 */ 5 #inclu ...
分类:
其他好文 时间:
2020-01-27 17:16:35
阅读次数:
70
今天开始学网络流... 首先是bfs找通流的EK算法.. #include<bits/stdc++.h> using namespace std; const int N=10010,M=100010,qwq=1<<30; int link[N],tot=1,n,m,s,t,maxflow,vis[ ...
分类:
其他好文 时间:
2020-01-27 15:22:38
阅读次数:
72
因为放一个就需要判断一次,每一次跑一遍全图bfs显然是不现实的 又因为点只有三种,黑白无 所以可以用并查集优化 添加一个棋子就判断周围四个的组别情况 注意出现的情况与答案关系之间的判别 1 /* 2 Written By StelaYuri 3 */ 4 #include<stdio.h> 5 #i ...
分类:
其他好文 时间:
2020-01-27 00:14:53
阅读次数:
59
法1:BFS #include <bits/stdc++.h> #include <stdio.h> #include <stdlib.h> #include <queue> using namespace std; const int maxn = 100010; vector<int> temp ...
分类:
其他好文 时间:
2020-01-26 22:35:05
阅读次数:
88
一个迷宫由R行C列格子组成,有的格子里有障碍物,不能走;有的格子是空地,可以走。给定一个迷宫,求从左上角走到右下角最少需要走多少步(数据保证一定能走到)。只能在水平方向或垂直方向走,不能斜着走。Input第一行是两个整数,R和C,代表迷宫的长和宽。( 1<= R,C <= 40)接下来是R行,每行C ...
分类:
其他好文 时间:
2020-01-24 16:03:12
阅读次数:
82
题意:在一棵树上找三个不同点,使的三点之间的路径通过最多的不同边。 解法:将树看一条长链像有机化学里的结构式,可以肯定长链的两端点(两次dfs找出最长链)是答案中的两点,第三个点有两种情况: 1、没有支链即只有一条长链第三点即为不同于端点的任意一点。 2、有支链,找一条最长的支链的端点(bfs找最长 ...
分类:
其他好文 时间:
2020-01-24 09:27:34
阅读次数:
76
题意: 给一棵树,找到三个顶点,使三个顶点两两之间路径的并集最大 思路: 必定会有一组最优解,使得 a,b是树直径上的端点。 证明: 假设某个答案取连接点x。x最远的树到达的点是s,根据树的直径算法,s是树的某个直径a的端点。假设x的最远和第二远的点组成的链是b,b就会和a有一段公共部分。我们取a和 ...
分类:
其他好文 时间:
2020-01-23 19:56:26
阅读次数:
138
dfs: 给定一个整数n,将数字1~n排成一排,将会有很多种排列方法。 现在,请你按照字典序将所有的排列方法输出。 输入格式 共一行,包含一个整数n。 输出格式 按字典序输出所有排列方案,每个方案占一行。 数据范围 1≤n≤71≤n≤7 输入样例: 3 输出样例: 1 2 3 1 3 2 2 1 3 ...
分类:
其他好文 时间:
2020-01-23 14:12:37
阅读次数:
83
1.Oil Deposits bfs,遍历每个满足条件的点,找到附近满足条件的点,再从这个点周围继续找点。 https://vjudge.net/problem/HDU-1241 #include<stdio.h> #include<string.h> #include<queue> using n ...
分类:
其他好文 时间:
2020-01-23 14:06:16
阅读次数:
81