随笔分类 - 算法·理论
摘要:<目录 拓扑排序 Top Sort\color{grey}\textsf{Top Sort}Top Sort 有些时候,做事情是有条件的。 你只能学完 1+1=2\sf 1+1=21+1=2 才知道能弄懂 1+2=3\sf1+2=31+2=3 是怎么回事。 你只有先写下 int main() 才能写
阅读全文
摘要:<目录 最小生成树 Minimum Spanning Tree\sf\color{grey}Minimum\ Spanning\ TreeMinimum Spanning Tree 生成树,是指在一张无向图中去掉一些边后剩下的子树。 最小生成树,就是图里边权和最小的生成树。 如何求最小生成树呢? 我
阅读全文
摘要:<目录 并查集 并查集是一种只关心元素对于集合的所属关系的数据结构。 它的原型是一棵树,使用 “父亲表示法” 表示,用数组 Fa[i] 保存 i 的父亲的编号。 每个孩子都有一个父亲,而一个家族的祖先便是这个家族的标识。 如果你我有着同样的祖先,则你和我是一个家族的。 特别的,祖先的父亲是自己。 并
阅读全文
摘要:<目录 在开始之前…… 本文使用: Pn\sf P_nPn 表示点 n\sf nn , Eu,v\sf E_{u,v}Eu,v 表示从 Pu\sf P_uPu 点到 Pv\sf P_vPv 点的边长, Dis(f,t)\sf Dis(f,t)Dis(f,t) 表示从 Pf\sf P_fPf
阅读全文
摘要:<目录 栈,和队列,是两个基本的数据结构…… 栈 Stack\sf\color{grey}StackStack 定义 想象你在洗盘子,你从最上面拿下来一个盘子洗 pop\sf\color{gray}poppop ,新来的盘子也往上堆 push\sf\color{gray}pushpush 。 是不是
阅读全文
摘要:<目录 动态规划 Dynamic Programming\sf\color{gray}Dynamic\ ProgrammingDynamic Programming 由来 动态规划是怎么来的? 我想,应该从递归说起…… 数字三角形 Number Triangles 观察下面的数字金字塔。 写一个程序
阅读全文
摘要:<目录 贪心 Greedy\sf\small\color{gray}GreedyGreedy 基本思想 贪心,从字面上去理解: 一个人,非常贪心,他不管做出这一步决定后会发生什么,他只管眼前的利益。 这就是贪心。 当然,这个算法的劣处也显现出来: 他不管做出这一步决定后会发生什么。 也就是说,如果这
阅读全文