上一页 1 ··· 3 4 5 6 7 8 9 下一页
摘要: #定义 欧拉路径 图中所有的边都经过且只经过一次(一笔画)。 欧拉回路 起点与终点相同的欧拉路径。 #欧拉路径(回路)判定 有向图的欧拉路径 图中恰好存在一个点出度比入度多一(起点),一个点入度比出度多一(终点),其余节点出度=入度(可进可出)。 有向图的欧拉回路 所有点的入度=出度(任意点可作为起 阅读全文
posted @ 2022-05-21 23:48 何太狼 阅读(279) 评论(0) 推荐(0) 编辑
摘要: #cin.getline(name,ArSize) name为数组名,ArSize为要读取的字符数,该函数最多读入的字符数为ArSize-1,读到换行符时停止并丢弃换行符。 #cin.get(name,ArSize) 与cin.getline()的区别为cin.get()会将换行符留在输入队列中。 阅读全文
posted @ 2022-05-15 18:44 何太狼 阅读(513) 评论(0) 推荐(0) 编辑
摘要: extern与.h文件 ### extern `extern`是一个关键字。正常情况下,声明一个全局变量会自动定义它,并未它分配内存,但加上`extern`后不会定义,仅仅是声明。 ``` #include using namespace std; extern int a; int main() { cout using 阅读全文
posted @ 2022-05-08 20:39 何太狼 阅读(760) 评论(0) 推荐(0) 编辑
摘要: 一个图能进行拓扑排序的充要条件是它是一个有向无环图(DAG directed acyclic graph)。 #基于BFS的拓扑排序 先将所有入度为0的点放入队列中(顺序无关紧要),每次将队首弹出的点加入拓扑序列中,然后将该点所有的相邻点入度减1,将入度减为0的点入队。 当队列为空时,若所有点都以加 阅读全文
posted @ 2022-05-03 23:14 何太狼 阅读(41) 评论(0) 推荐(1) 编辑
摘要: #差分数组 我们令$a[i]$表示原数组 $dif[i]$表示差分数组 那么我们就有 $$ \left{ \begin{aligned} dif[0]&=a[0]\ dif[i]&=a[i]-a[i-1],i>0 \end{aligned} \right. $$ 那么$a[i]=\sum_{k=0} 阅读全文
posted @ 2022-05-02 19:53 何太狼 阅读(30) 评论(0) 推荐(0) 编辑
摘要: 最近公共祖先简称LCA(Lowest Common Ancestor)。两个节点的最近公共祖先,就是这两个点所有的公共祖先里面,离根最远的那个。 \(d(u,v)=h(u)+h(v)-2*h(lca(u,v))\) 例题 P3379 【模板】最近公共祖先(LCA) #Tarjan求解最近公共祖先 基 阅读全文
posted @ 2022-05-01 22:07 何太狼 阅读(39) 评论(0) 推荐(0) 编辑
摘要: #DFS序 DFS序代表着树从根节点开始进行DFS的节点的遍历顺序。 那么上图的DFS序显然为1,2,4,7,8,9,5,3,6 容易发现一棵子树内所有结点的DFS序是连续的,并且根节点的DFS序最小。那么假设我们已经有整颗树的DFS序为dfn[u], 子树的大小为size[u],就可以得到结点u的 阅读全文
posted @ 2022-04-30 19:53 何太狼 阅读(1678) 评论(0) 推荐(3) 编辑
该文被密码保护。 阅读全文
posted @ 2022-04-30 16:21 何太狼 阅读(3) 评论(0) 推荐(0) 编辑
摘要: #算法简介 中国剩余定理(Chinese Remainder Theorem,CRT)可以用来求解如下形式的一元线性同余方程组。(注意$n_1,n_2,\cdots,n_k$,两两互质) $$ \left{ \begin{aligned} x\ &\equiv\ a_1\ (mod\ n_1)\ x 阅读全文
posted @ 2022-04-29 22:23 何太狼 阅读(108) 评论(0) 推荐(0) 编辑
摘要: #前序遍历 先输入相关信息,然后遍历左节点,最后遍历右节点。 void dfs(int s){ if(s){ cout<<s<<" "; dfs(lson[s]); dfs(rson[s]); } } #中序遍历 先遍历左节点,然后输出该节点的相关信息,最后遍历右节点 void dfs(int s) 阅读全文
posted @ 2022-04-23 18:25 何太狼 阅读(22) 评论(0) 推荐(0) 编辑
上一页 1 ··· 3 4 5 6 7 8 9 下一页