摘要: 康托展开是一种全排列到自然数的双射(映射)算法,简单来说,对于一个由 \(1 \sim n\) 共 \(n\) 个不重复数字构成的全排列,若按字典序将这 \(n!\) 种所有可能的排列从小到大进行排序(从第 \(0\) 个或第 \(1\) 个开始计): 正向康托展开:输入一个排列,计算出它是字典序中 阅读全文
posted @ 2026-08-03 19:30 RonChen 阅读(15) 评论(0) 推荐(0)
摘要: 在标准的单源广度优先搜索中,从网格地图中的某一个确定起点出发,逐步按层向四周邻近格子扩张,用来求解网格图/棋盘中的最少移动步数(最短距离)问题。 然而,在许多实际题目中,起点的数量往往不止一个。例如: 多个火源同时蔓延,求整栋大楼被烧毁的时间。 多个基地同时发射信号,求网格地图上各个区域最早接收到信 阅读全文
posted @ 2026-08-02 15:37 RonChen 阅读(14) 评论(0) 推荐(0)
摘要: 抽屉原理(又称鸽巢原理)是组合数学中最基础但又极其强大的工具之一,它的核心思想极其直观:如果物品的数量多于容器的数量,那么至少有一个容器里盛放了不止一个物品。虽然原理本身非常简单,但通过巧妙地“构造抽屉”和“确定物品”,它可以用来证明很多看似难以下手的存在性问题。 简单抽屉原理:若将 \(n+1\) 阅读全文
posted @ 2026-07-24 11:34 RonChen 阅读(82) 评论(0) 推荐(0)
摘要: 给定 \(N\) 个闭区间 \([l_i,r_i]\),要求将所有有交集(包括端点重合)的区间进行合并,最终计算出合并后互不相交的区间集合。 处理区间问题的核心往往在于消除无序性,如果区间是散乱分布的,很难判断一个区间究竟会与哪些区间发生合并。 通过将所有区间按照左端点从小到大进行排序,问题就会展现 阅读全文
posted @ 2026-07-20 20:41 RonChen 阅读(16) 评论(0) 推荐(0)
摘要: 给定直线上 \(n\) 个点,其坐标分别为 \(x_1, x_2, \dots, x_n\)。需要在这条直线上找一个点 \(P(x)\),使得 \(P\) 到所有已知点的绝对距离之和最小,即最小化目标函数 \(f(x) = \sum \limits_{i=1}^n |x - x_i|\)。 结论 当 阅读全文
posted @ 2026-07-19 19:45 RonChen 阅读(22) 评论(0) 推荐(0)
摘要: 归并排序 例题:P1177 【模板】排序 介绍一种新的排序算法——归并排序。要理解归并排序,首先要理解归并。考虑这样一个问题:给定两个有序的序列 \(a,b\),把两个序列合并成一个序列,使得合并出的这个序列是有序的。 算法的过程很简单,维护两个位置 \(i\) 和 \(j\),代表当前考虑 \(a 阅读全文
posted @ 2026-07-18 20:34 RonChen 阅读(19) 评论(0) 推荐(0)
摘要: 快速排序 快速排序(Quick Sort)是计算机科学中最著名、应用最广泛的排序算法之一。它的核心思想是分治(Divide and Conquer),这个策略可以分为三个步骤: 分解(Divide): 从待排序的数组中,挑选一个元素作为“基准”(Pivot)。 围绕这个基准,对数组进行“分区”(Pa 阅读全文
posted @ 2026-07-18 12:59 RonChen 阅读(18) 评论(0) 推荐(0)
摘要: 同余类分析法 的基本思想是:利用同余关系将全体整数(或问题的状态空间)划分为若干个互不相交的等价类。 分类标准:选定一个基准数 \(M\),根据每个数 \(x\) 满足 \(x \equiv r \pmod{M}\) 的余数 \(r\) 进行归类。 分析逻辑:如果一个性质对于某个余数 \(r\) 成 阅读全文
posted @ 2026-06-10 17:34 RonChen 阅读(26) 评论(0) 推荐(0)
摘要: 差分约束系统用于求解 \(n\) 个未知数 \(x_1 \sim x_n\),\(m\) 个形如 \(x_u - x_v \le w\) 也就是 \(x_u \le x_v + w\) 的不等式的解。 两种建图方式: \(v\) 向 \(u\) 连边权为 \(w\) 的有向边,建立虚点 \(0\) 阅读全文
posted @ 2026-05-29 20:45 RonChen 阅读(12) 评论(0) 推荐(0)
摘要: Treap 是一种结合了 二叉搜索树(Binary Search Tree) 和 二叉堆(Binary Treap) 特性的高级平衡数据结构,其名称正是由这两个词组合而成:Tree + Heap \(Rightarrow\) Treap。 更具体地说,Treap 中的每个节点都存储了一个二元组 \( 阅读全文
posted @ 2026-05-24 16:56 RonChen 阅读(31) 评论(0) 推荐(0)