上一页 1 ··· 10 11 12 13 14
摘要: 前言 万年老图 1. 原理 Spfa 是经过队列优化的 Bellman-Ford 算法,它的本质是 BFS,它的时间复杂度最好是 \(O(V+E)\),最坏是 \(O(VE)\),其中 \(V\) 为节点数,\(E\) 为边数。 为什么要有这样一个时间复杂度这么不稳定的算法呢?因为它可以求出有负权边 阅读全文
posted @ 2025-02-04 13:06 hm2ns 阅读(203) 评论(0) 推荐(0)
摘要: 前言 原!式!得!证 ! 1. 定义 欧拉函数 \(\varphi(n)\) 表示从 \(1\sim n\) 中与 \(n\) 互质的数的个数。 读作 phi,写作 \(\varphi\),\(\LaTeX:\)$\varphi$,是一个希腊字母。 比如说 \(\varphi(1) = 1\)。 当 阅读全文
posted @ 2025-02-04 13:05 hm2ns 阅读(39) 评论(0) 推荐(0)
摘要: 前言 邻接表的真实形态! 听说网络流不能用 vector 了,于是来学。 1. 原理简述 区别于使用 vector 存图,链式前向星才是邻接表的真实形态(而非 vector)。链式即使用链表数据结构;前向即在头节点处插入新边;星即指针。用链表存图可以有效避免 vector 常数过大的问题,虽然开了 阅读全文
posted @ 2025-02-04 12:06 hm2ns 阅读(129) 评论(0) 推荐(0)
摘要: 前言 花了一天浅学线段树,好用! 1. 概述 线段树是一种二叉搜索树,用来处理一些满足结合律的问题(可以用小区间合并求出大区间解的问题)。经典的例子有求区间和,区间积,区间最大公约数,区间最值等问题,且时间复杂度为 \(O(\log n)\) 级别。 2. 实现原理及模板代码分析 线段树,顾名思义就 阅读全文
posted @ 2025-02-04 12:05 hm2ns 阅读(33) 评论(0) 推荐(0)
摘要: 前言 看到 NOIp2023 考了才来学 现在才学是不是太菜了? 1. 普通并查集 并查集是一种可以快速合并集合、判断几个元素是否在同一集合内的树形数据结构。 并查集使用一个数组存储每个节点的父节点,因此他的空间复杂度是 \(O(n)\)。 1.1 初始化 为了判断这个节点是否还有父节点,我们在初始 阅读全文
posted @ 2025-02-04 12:04 hm2ns 阅读(12) 评论(0) 推荐(0)
摘要: 前言 对于这篇文章中提到的方法的证明见这里。 迁移自云剪贴板。 板子敲错见祖宗。 1. \(O(n)\) 朴素做法 对于一个数 \(n\),枚举从 \(2 \sim n-1\) 的每一个数,如果有一个数能整除 \(n\),即代表 \(n\) 是合数而非质数。平均时间复杂度为 \(O(n)\)。其正确 阅读全文
posted @ 2025-02-04 11:59 hm2ns 阅读(6) 评论(0) 推荐(0)
摘要: 前言 计算机中通常使用后缀表达式进行数值计算,因为后缀表达式计算简单,无需括号。且中 \(\to\) 后缀表达式的操作是将中缀表达式从左往右处理,相比于前缀的从右往左更符合人类逻辑。 三种表达式的互相转换通常使用 栈 数据结构。 1. 中缀表达式转后,前缀 1.1 中缀转后缀 规则如下: 从前往后遍 阅读全文
posted @ 2025-02-04 11:56 hm2ns 阅读(487) 评论(0) 推荐(0)
上一页 1 ··· 10 11 12 13 14