0%

最近更新

按时间写下的文章

267 每页 10 1 / 27 页 本页 10 当前 1-10

ST 表是处理静态区间最值查询的利器,预处理 O(n log n),查询 O(1)。通过倍增思想预处理所有 2^k 长度区间的答案,适用于 RMQ、GCD 等满足幂等律的运算。

线段树是树状数组的"全能升级版",支持任意区间修改、区间最值等多种操作。本篇讲解区间划分、递归构建、单点/区间更新与查询,以及核心的懒标记(Lazy Propagation)技术。

树状数组是专门解决区间求和与单点修改的轻量级数据结构,核心原理 lowbit(x) = x & (-x),所有操作 O(log n),代码短、常数小,是 ACM 中最常用的数据结构之一。

二叉搜索树(BST)能在 O(log n) 期望时间内同时支持搜索、插入、删除和有序遍历,是真正全能的动态有序数据结构。

ACM 学习篇第八课:理解堆的原理与二叉堆的实现,掌握优先队列的常用操作,学会用堆高效解决 Top-K、合并有序链表、数据流中位数等经典问题。

ACM 学习篇第七课:理解并查集的原理与实现,掌握路径压缩和按秩合并的优化技巧,学会用并查集高效解决连通性、分组和集合合并问题。

上一篇讲了单调栈和单调队列,它们擅长处理有顺序关系的元素。但很多时候我们需要的是"快速查找"和"统计次数",这就该哈希表出场了。

存储系统选型不是在 Redis、MySQL、HBase、ClickHouse、Doris、Hudi、Iceberg、Elasticsearch、Kafka、Milvus 之间排一个绝对名次,而是先判断访问模式、延迟 SLA、更新方式、查询形态、数据规模和成本约束。本文给出一棵细致决策树,并用性能、吞吐、成本、运维复杂度和模型平台场景做横向对比。

Transformer 可以理解成一套让 token 在允许范围内互相参考的架构。它先把文字变成向量,再加入位置信息,经过多层 Self-Attention、前馈网络、残差连接和 LayerNorm,不断重写每个 token 的表示。本文用图解释 Transformer Block、Q/K/V、Mask、Multi-Head Attention、FFN,以及 Encoder、Decoder、Decoder-only 的区别。

KV Cache 可以理解成大模型推理时做的“读书笔记”:历史 token 在每一层算出的 Key 和 Value 会被记下来,生成下一个 token 时直接翻笔记,不用把前文从头再算一遍。本文用图解释它缓存什么、Prefill 和 Decode 怎么配合、为什么长上下文会吃显存,以及 MQA/GQA、FlashAttention、PagedAttention 和它的关系。

ACM 学习篇第四课:学习双指针与滑动窗口,理解为什么左右边界只往前走,就能把很多枚举区间的问题从 O(n^2) 降到 O(n)。

ACM 学习篇第二课:从排序、比较器、lower_bound 到二分答案,理解“有序”和“单调性”为什么是算法竞赛里最常用的入口。

量化投资入门:量化不是预测未来的水晶球,而是把投资假设写成可验证的规则,用数据、模型、回测、交易执行和风控形成一套可复盘的系统。

ACM 学习篇章的学习路线与目录:从复杂度、基础数据结构、搜索、动态规划、图论、数学、字符串,到网络流、匈牙利算法、树链剖分、莫队、后缀自动机、FFT 和计算几何,按阶段建立算法竞赛知识体系。