高阶算法
文章平均质量分 93
字符串、图论、数据结构、动态规划、数学
zaiyang遇见
我走过山的时候,山不说话;
我路过海的时候,海不说话。
相遇还是不相遇,都是献给岁月的序曲 !
展开
-
竞赛知识点5【图论】
图论起源于著名的哥尼斯堡七桥问题——从这四块陆地中任何一块开始,通过每一座桥正好一次,再回到起点。欧拉在 1736 年解决了这个问题,欧拉证明了这个问题没有解,并且推广了这个问题,给出了对于一个给定的图可以某种方式走遍的判定法则。这就是后来的欧拉路径和欧拉回路。这项工作使欧拉成为图论〔及拓扑学〕的创始人。图是由顶点V的集合和边E的集合组成的二元组:• 记GVEG=(V,E)GVE• 存在一个结点vvv,可能含有多个前驱结点和后继结点。有向图,点与有向边的集合。原创 2023-06-16 13:19:09 · 778 阅读 · 0 评论 -
竞赛知识点11【线段树】
修改时,找到对应的结点,修改 add,并且更新结点维护的值,而这个结点所有的祖先都能通过当前结点得到修改后所维护的值,但是当前结点的子结点的区间和无法立即更新,当我们需要用到这些子结点的信息时再进行更新。(线段树存的是区间,二叉树存的是点,所以线段树会出现许多结点空着的情况,如下图,结点[3] 的左右儿子空缺)修改区间,不是将所有的位置的值更新,而是将修改对值的影响记录在根到叶子路径上的某结点处。点的区间所对应的结点,将路径经过的结点的 add 维护起来,就是位置。,我们只需要得到如下三个结点的信息即可。原创 2023-11-01 16:23:20 · 146 阅读 · 0 评论 -
竞赛知识点12【树状数组】
在基于线段树的实现中,这个和是可以直接求得到。另一种思路:如果计算(从。,同时需要正确维护序列的前缀和。根据树状数组的结构和性质,只有结点。这就导致了线段树的右儿子的值不需要了。如果线段树每个节点维护的是对应区间的和,比如说计算从。每个小区间的区间和都已经保存在数组。及其祖先结点保存的 “区间和” 包含。的数组,绝对不能出现下标为。,需要对这些结点进行修改。在二进制表示下最低位的。的二进制表示中每个等于。中,查询的时间复杂度为。树状数组能处理的下标为。任意结点的祖先至多有。原创 2023-11-24 11:03:15 · 173 阅读 · 0 评论