摘要: 引入 AOE网和AOV网 上一篇的拓扑排序中提到了AOV网(Activity On Vertex Network),与之相对应的是AOE网(Activity on edge network),即边表示活动的网。 AOV用顶点表示活动的网,描述活动之间的制约关系。 AOE是带权值的有向图,以顶点表示事 阅读全文
posted @ 2019-10-27 23:13 czc1999 阅读(601) 评论(0) 推荐(0) 编辑
摘要: 引入 有向无环图(DAG) 如果一个有向图不存在环,也就是任意结点都无法通过一些有向边回到自身,那么称这个有向图为有向无环图。 AOV网络 在有向图中,用顶点表示活动,用有向边$ < V_i, V_j > $表示活动 $i$ 是活动 $j$ 的必须条件。这种有向图称为用顶点表示活动的网络(Activ 阅读全文
posted @ 2019-10-26 23:41 czc1999 阅读(2668) 评论(0) 推荐(2) 编辑
摘要: 组合数 组合数就是高中排列组合的知识,求解组合数C(n,m),即从n个相同物品中取出m个的方案数。 求解方式 求解通式:$C^{m}_{n}=\dfrac {n!}{m!\left( n-m\right) !}$ 性质1:$C^{m}_{n}=C_{n}^{n-m}$ 性质2:$C^{m}_{n}= 阅读全文
posted @ 2019-10-26 21:37 czc1999 阅读(201) 评论(0) 推荐(0) 编辑
摘要: 最短路径 问题背景:地图上有很多个城市,已知各城市之间距离(或者是所需时间,后面都用距离了),一般问题无外乎就是以下几个: 从某城市到其余所有城市的最短距离【单源最短路径】 所有城市之间相互的最短距离【任意两点最短路径】 各城市距离一致,给出需要最少中转方案 【最少中转】 深度优先搜索 适用范围:啥 阅读全文
posted @ 2019-10-26 16:55 czc1999 阅读(588) 评论(0) 推荐(0) 编辑
摘要: 基本概念 树(Tree) 如果一个无向连通图中不存在回路,则这种图称为树。 生成树 (Spanning Tree) 无向连通图G的一个子图如果是一颗包含G的所有顶点的树,则该子图称为G的生成树。 生成树是连通图的极小连通子图。这里所谓极小是指:若在树中任意增加一条边,则将出现一条回路;若去掉一条边, 阅读全文
posted @ 2019-10-24 23:40 czc1999 阅读(325) 评论(0) 推荐(0) 编辑
摘要: 图的基本性质 顶点(vertex) 上图中黑色的带数字的点就是顶点,表示某个事物或对象。由于图的术语没有标准化,因此,称顶点为点、节点、结点、端点等都是可以的。叫什么无所谓,理解是什么才是关键。 边(edge) 上图中顶点之间蓝色的线条就是边,表示事物与事物之间的关系。需要注意的是边表示的是顶点之间 阅读全文
posted @ 2019-10-24 23:12 czc1999 阅读(322) 评论(0) 推荐(0) 编辑
摘要: 欧拉函数 记作$\varphi (n)$,表示小于等于n的数中与n互质的数的数目。(根据定义,phi(1)=1) 通式 $$\varphi(x)=x\prod_{i=1}^{n}(1-\frac{1}{p_{i}})$$其中$p_{i}$为$x$的所有质因数。 举个例子: 比如$\varphi (1 阅读全文
posted @ 2019-10-20 21:22 czc1999 阅读(391) 评论(1) 推荐(0) 编辑
摘要: 数论四大定理: 威尔逊定理 欧拉定理 孙子定理(中国剩余定理) 费马小定理 1.威尔逊定理 在初等数论中,威尔逊定理给出了判定一个自然数是否为素数的充分必要条件。 当且仅当$p$为素数时 $(p-1)!\equiv -1(mod\ p)$ 简单点说就是,若$p$为质数,则$p$能被 $(p-1)!+ 阅读全文
posted @ 2019-10-18 23:22 czc1999 阅读(668) 评论(0) 推荐(0) 编辑
摘要: 问题引入 对于取余运算,有一下一些性质: 但是唯独除法是不满足的: 为什么除法错的呢?很好证明: 而对于一些题目,我们必须在中间过程中进行求余,否则数字太大,电脑存不下,那如果这个算式中出现除法,我们就需要逆元了,将除法运算转换为乘法运算。 逆元 定义: 对于c,可以说是特殊意义上的倒数,我们可以理 阅读全文
posted @ 2019-10-16 17:30 czc1999 阅读(1723) 评论(0) 推荐(0) 编辑
摘要: 1、引入 最大公约数gcd算法: 辗转相除法 int gcd(int a, int b) { return b == 0 ? a : gcd(b, a % b); } 最小公倍数lcm算法: 根据 a*b = gcd(a,b) * lcm(a,b) 有 lcm = a*b / gcd,避免溢出,推荐 阅读全文
posted @ 2019-10-16 17:29 czc1999 阅读(198) 评论(0) 推荐(0) 编辑