摘要: 并查集被很多OIer认为是最简洁而优雅的数据结构之一,主要用于解决一些元素分组的问题。它管理一系列不相交的集合,并支持两种操作: 合并(Union):把两个不相交的集合合并为一个集合。 查询(Find):查询两个元素是否在同一个集合中。 并查集的引入 并查集的重要思想在于,用集合中的一个元素代表集合 阅读全文
posted @ 2022-03-06 13:37 PassName 阅读(61) 评论(0) 推荐(0)
摘要: 什么是拓扑排序? 维基百科对于拓扑排序有如下定义: a topological sort or topological ordering of a directed graph is a linear ordering of its vertices such that for every dire 阅读全文
posted @ 2022-03-05 22:24 PassName 阅读(181) 评论(0) 推荐(0)
摘要: 定义: 欧拉回路:每条边恰好只走一次,并能回到出发点的路径 欧拉路径:经过每一条边一次,但是不要求回到起始点 ①首先看欧拉回路存在性的判定: 一、无向图 每个顶点的度数都是偶数,则存在欧拉回路。 二、有向图(所有边都是单向的) 每个节顶点的入度都等于出度,则存在欧拉回路。 三.混合图欧拉回路 混合图 阅读全文
posted @ 2022-03-05 22:02 PassName 阅读(832) 评论(0) 推荐(0)
摘要: S 城现有两座监狱,一共关押着 N 名罪犯,编号分别为 1∼N。 他们之间的关系自然也极不和谐。 很多罪犯之间甚至积怨已久,如果客观条件具备则随时可能爆发冲突。 我们用“怨气值”(一个正整数值)来表示某两名罪犯之间的仇恨程度,怨气值越大,则这两名罪犯之间的积怨越多。 如果两名怨气值为 c 的罪犯被关 阅读全文
posted @ 2022-03-05 21:47 PassName 阅读(79) 评论(0) 推荐(0)
摘要: Tarjan 算法简介 Tarjan 算法一种由Robert Tarjan提出的求解有向图强连通分量的算法,它能做到线性时间的复杂度。 我们定义: 如果两个顶点可以相互通达,则称两个顶点强连通(strongly connected)。如果有向图G的每两个顶点都强连通,称G是一个强连通图。有向图的极大 阅读全文
posted @ 2022-03-05 19:47 PassName 阅读(344) 评论(0) 推荐(0)
摘要: 简介 首先是最近公共祖先的概念(什么是最近公共祖先?): 在一棵没有环的树上,每个节点肯定有其父亲节点和祖先节点,而最近公共祖先,就是两个节点在这棵树上深度最大的公共的祖先节点。 换句话说,就是两个点在这棵树上距离最近的公共祖先节点。 所以LCA主要是用来处理当两个点仅有唯一一条确定的最短路径时的路 阅读全文
posted @ 2022-03-05 17:09 PassName 阅读(109) 评论(0) 推荐(0)
摘要: 浅谈差分约束 差分约束系统是一种特殊的 $n$ 元一次不等式组,它包含 $n$ 个变量 $x_1,x_2,...,x_n $ 以及 $m$ 个约束条件,每个约束条件是由两个其中的变量做差构成的 形如 $x_i−x_j≤c_k$ , 其中 $1≤i,j≤n,i≠j,1≤k≤m$ 并且 $c_k$ 是常 阅读全文
posted @ 2022-03-05 16:07 PassName 阅读(96) 评论(0) 推荐(0)
摘要: typeid是c++的关键字,typeid操作符的返回结果是名为type_info的标准库类型的对象的引用(在头文件typeinfo中定义) ISO C++标准并没有确切定义type_info,它的确切定义编译器相关的,但是标准却规定了其实现必需提供如下四种操作: type_info类提供了publ 阅读全文
posted @ 2022-02-12 20:47 PassName 阅读(121) 评论(0) 推荐(0)
摘要: 简述 decltype 是 C++11 新增的一个关键字,它和 auto 的功能一样,都用来在编译时期进行自动类型推导。 decltype 是“declare type”的缩写,译为“声明类型”。 既然已经有了 auto 关键字,为什么还需要 decltype 关键字呢?因为 auto 并不适用于所 阅读全文
posted @ 2022-02-12 20:34 PassName 阅读(113) 评论(0) 推荐(0)
摘要: 类中的 mutable mutable 从字面意思上来说,是「可变的」之意。 若是要「顾名思义」,那么这个关键词的含义就有些意思了。显然,「可变的」只能用来形容变量,而不可能是「函数」或者「类」本身。然而,既然是「变量」,那么它本来就是可变的,也没有必要使用 mutable 来修饰。那么,mutab 阅读全文
posted @ 2022-02-12 20:17 PassName 阅读(114) 评论(0) 推荐(0)