摘要:
学习堆优化的写法 1 #include<bits/stdc++.h> 2 using namespace std; 3 int n, m, a, b, c; 4 typedef pair<int, int> pii; //first表示距离,second表示节点号 5 vector<pii> gra 阅读全文
摘要:
题目要求的是最远的两个节点的距离,即求树的直径(树中所有最短路径距离的最大值即为树的直径 求树的直径有两种做法,两次bfs(或者dfs),另一种是用树形DP 本文用两次DFS实现 #include<bits/stdc++.h> using namespace std; int n, u, v; ve 阅读全文
摘要:
BFS可以解决无权图的单源最短问题 注意在queue中用结束标识来节约队列空间。也可以用vector来实现队列,用[left,right]控制队列。 1 #include<bits/stdc++.h> 2 using namespace std; 3 int n, m, c; 4 vector<in 阅读全文
摘要:
因为有重复数据,所以不得不等输入完以后再进行有向图的遍历。 1 #include<bits/stdc++.h> 2 using namespace std; 3 int n, m; 4 set<int> graph[1005]; 5 vector<bool> visited(1005, false) 阅读全文