图论
图论
就是爱吃肉ro
真正喜欢的人和事 都值得我们去坚持
展开
-
51nod_棋盘行走 ( 深度优先搜索 )
文章目录题意题解代码方向遍历方式一方向遍历方式二原样题目连接题意给一个 n*m 的棋盘, 棋盘每个格子颜色都是一个大写字母,以一个格子为起点, 每次只能走上下左右四个方向, 并且每个格子只能走一次,要求 :至少经过四个颜色相同的不同格子最终走回起点若可以输出 Yes, 否则 No.题解直接 dfs, 一直忘记回溯起点, wa到蹦! 唉…后来考虑了下, 的确完全没必要用一个数组来...原创 2019-10-26 15:47:08 · 2973 阅读 · 2 评论 -
拓扑排序 再理解 + 面向对象类模板
文章目录拓扑排序确定有向无环图顺序拓扑排序有向图判环拓扑排序确定有向无环图顺序拓扑排序有向图判环原创 2019-10-26 00:27:51 · 173 阅读 · 0 评论 -
HDU_3342 Legal or Not ( 拓扑排序判环 )
题解 题意 :a 打败 b 那么 a 就是 b 的主人,如果 b 打败 c 那么 a 和 b 都是 c 的主人,现在让你判断是否存在 a 打败 b , b 打败 c , c 打败 a . 思路 : 很明显强调顶点之间的依赖关系 , 是一个典型的拓扑排序 , 跑一边拓扑 , 统计一下删除的顶点个数是否是总数 , 也就是说有没有把所有顶点全删除 , 如果没有那就存在环 . 代码这...原创 2019-07-20 09:54:08 · 278 阅读 · 0 评论 -
Topological Sorting ( 拓扑排序 )
转载https://blog.csdn.net/lisonglisonglisong/article/details/45543451一 、 什么是拓扑排序在图论中,拓扑排序(Topological Sorting)是一个有向无环图(DAG, Directed Acyclic Graph)的所有顶点的线性序列。且该序列必须满足下面两个条件:每个顶点出现且只出现一次。若存在一条从顶点 A...转载 2019-07-20 08:46:43 · 173 阅读 · 0 评论 -
HDU_1285 确定比赛名次 ( 拓扑排序 )
题解 题意 : 给出数据 A , B , 代表 A 赢了 B , 给出多组数据 , 求最终的排名 , 名次相同 编 号小 的优先输出 . 思路 : 由拓扑序列的性质可知 , 图中存在顶点 A 到 顶点 B 的边 , 则说明 A 出现在 B 前面 , 也就是说 A 赢了 B . 如此 , 跑一边拓扑排序 , 按顺序遍历删除顶点 , 同时将...原创 2019-07-20 09:14:13 · 317 阅读 · 0 评论 -
图论 判断图是否带环的三种方法 | 有向图 and 无向图
@TOC]无向图dfs并查集有向图dfs拓扑排序原创 2019-10-26 01:23:34 · 1141 阅读 · 0 评论 -
HDU_1272 小希的迷宫 ( 并查集判环 | 注意不连通的点 )
文章目录题意题解代码题目连接题意给一个无向图, 如果有环输出No, 否则Yes题解古怪的输入格式用并查集判环, 同时保证这个点出现过, 而非是孤立, 不在样例输入中的点注意孤立的点代码...原创 2019-10-24 22:24:05 · 227 阅读 · 0 评论 -
并查集 再理解加模板
class DisjointSet { public: static const int MAXN = 1e3+100; int n; int root[MAXN]; DisjointSet( ) { }; DisjointSet( int _n ) : n(_n) { }; void INI ( int n ) { this->n = n; ...原创 2019-10-18 12:57:13 · 112 阅读 · 0 评论 -
POJ_1679A TheUniqueMST ( 最小生成树 | 次小生成树 )
文章目录题意题解代码题目连接 vj or poj题意给一个图, 求有几个最小生成树, 有一个最小生成树则输出权值和, 多个输出一个字符串题解先吐槽一下 poj的老年机, 都什么年代了, 还连c11都不支持, ce的心态蹦了, 各种改回去代码// #include <bits/stdc++.h>#include <iostream>#include <...原创 2019-10-22 11:47:23 · 127 阅读 · 0 评论 -
UVA_1395 SlimSpan ( 最小生成树Kruskal )
题目连接 -> UVA -> vj题意题解代码#include<bits/stdc++.h>using namespace std;#define rg register#define sc scanf#define pf printfconst int MAXN = 102;const int MAXM = MAXN * (MAXN - 1) / ...原创 2019-10-13 19:56:15 · 123 阅读 · 0 评论 -
POJ3169 Layout ( 差分约束 | 最短路 )
文章目录题意题解代码题目连接 poj or vj题意在一条直线上有n头奶牛,奶牛可能站在同一个位置,奶牛之间有两种关系1:关系好的奶牛想要相隔的距离不超过x2:关系不好的牛奶想要像个的距离不小于x问 1号奶牛 到 n号奶牛 最远距离如果不存在输出-1, 如果距离是无穷,输出-2题解代码...原创 2019-11-04 21:49:43 · 201 阅读 · 0 评论 -
POJ_3013_BigChristmasTree ( 最短路变形 | INF爆0x3f3f3f3f | 转化技巧 )
文章目录题意题解代码题目连接 vj or poj题意题解代码原创 2019-10-23 22:00:48 · 258 阅读 · 0 评论 -
Codeforces_1234C Pipes ( 简单搜索 | 模拟 )
题目连接 -> cf and vj题意题解乍一看是个搜索。。。过了半天发现其实是个模拟。。。代码#include<bits/stdc++.h>using namespace std;typedef long long ll;int main ( ) { int t, n; cin >> t; while ( t-- ) { cin >...原创 2019-10-14 19:58:30 · 260 阅读 · 0 评论 -
CodeForces_350BResort ( 最短路思想_贪心_路径输出 )
题目连接 -> cf and vj文章目录题意题解代码优化未优化题意给定第一行顶点个数, 第二行0->山, 1->宾馆, 第三行 每个值->下标 表示链接一条边找一条满足以下条件的最长路:起点是山, 终点是宾馆相邻两个顶点仅有一条确切的路包含尽可能多的项目输出第一行项目总数, 第二行路径题解感觉是贪心版的最短路变形, 反向建图, 从宾馆开始找山, ...原创 2019-10-12 10:04:30 · 178 阅读 · 0 评论 -
图论_最短路 再理解重写面向对象的模板
文章目录FloydDjkstraFloydclass Floyd { public: static const int MAXN = 1e2+10; static const int INF = 0x3f3f3f3f; int e[MAXN][MAXN]; int n; Floyd ( ) { } Floyd ( int _n ) : n(_n...原创 2019-10-10 15:55:44 · 140 阅读 · 0 评论 -
二分图匹配问题 再理解+面向对象模板
文章目录匈牙利算法Kuhn_Munkres匈牙利算法class Hungary {public: static const int MAXN = 1e5+100; static const int MAXM = 2e5+10; struct EDGE { int v, to; }e[MAXM]; int head[MAXM], cnt = 0; inline void a...原创 2019-11-02 02:36:57 · 133 阅读 · 0 评论 -
HDU_2255 奔小康赚大钱 ( 二分图最大权匹配 | KM算法 )
文章目录题意题解代码题目连接 vj or hdu题意题解代码原创 2019-11-01 22:54:32 · 124 阅读 · 0 评论 -
HDU_1498 50years50colors( 二分图最大匹配 | 最小顶点覆盖 )
文章目录题意题解代码题目连接 hdu or vj题意题解代码原创 2019-10-30 22:12:58 · 237 阅读 · 0 评论 -
HDU_1068 GirlsandBoys ( 二分图最大匹配/独立集 | 匈牙利算法 )
文章目录题意题解代码题目连接 vj or hdu题意题解代码原创 2019-10-28 22:01:50 · 186 阅读 · 0 评论 -
HDU_3062_A_Party ( 2sat问题 | 强连通分量 )
题意n 对夫妻一块出席活动, 某些人可能有矛盾( 夫妻之间不会有矛盾 ), 每对夫妻只能出席一人, 问所有出席的能否和睦相处 …题解首先, 先来看下 2set 问题是什么,传送_1传送_2了解了 2set 是什么, 就会发现这的确是一个 2set 的模板题了,加边建图, 搜索, 判断可怜我一直以为是二分图, 一直往二分图里上板子, 一直哇 …总结一下, 向能把图全部连通的方向考虑...原创 2019-11-07 11:54:22 · 255 阅读 · 0 评论 -
HDU_6105 Factory ( 最近公共祖先, 倍增法 )
文章目录题意题解代码题目连接题意题解代码原创 2019-10-19 11:29:28 · 244 阅读 · 0 评论 -
最近公共祖先 理解+模板
文章目录倍增法倍增法class lca_Doubling{ public: static const int MAXDepth = 20; static const int MAXN = 1e5+10; static const int MAXM = 3e5+10; // 有向图双倍加边 struct EDGE { int v, w, to;...原创 2019-10-19 11:25:11 · 225 阅读 · 0 评论 -
HDU_2586 HowFarAway ( 最近公共祖先LCA | 广度优先搜索BFS )
文章目录题意题解代码题目连接题意给一张 n 个顶点, n-1 条边的图, 最大二百条询问从 u 到 v 的最近距离题解暴力搜索, 起点搜到终点, dis数组保存距离代码#include <bits/stdc++.h> using namespace std; #define rg register #define sc scanf #define pf print...原创 2019-10-17 14:42:12 · 261 阅读 · 0 评论