第20届北京邮电大学程序设计竞赛 游记

记录第 20 届北邮程序设计竞赛(预选赛 2026-10-11,正式赛 2026-10-18)的备赛与参赛全程: 预选赛复盘 A/B/E 三题与全场 58% 爆零率;正式赛当天先撞上热身赛「B、C 两题提交位置 反了」的笑料,靠 B 题一血、C 题首 A、G/F/H 拿下铜牌题,最后在第 282 分钟用 5 次提交 把 N 题的异或贪心硬扛出来,以 6 题 530 分收下银牌;赛后补题把 A 题改用 DFS 降一个 log、B 题从「范德蒙德卷积」转向按模三余数分类的 DP,两题连同数据搬上了洛谷。

游记

【基础算法】离散化 学习笔记

离散化是排序在「线性降维」上的典型应用:值域很大而只需保留大小关系时,把元素映射为其排序后的名次,将值域压缩到与数组长度同阶,配代码模板与实现要点。

学习笔记

代码模板-离散化

提供离散化的数组与 vector 两种代码模板,包含排序去重、lower_bound 查询映射关系,适用于值域压缩场景。

代码模板

Codeforces 2267D Backrooms Hill - Solution

给定 1~n 的排列,每次只能交换下标相差 2 的元素(即同奇偶位置内任意重排),判断能否变成「山形」。关键结构刻画:值 ≥ v 的位置必须构成连续区间。区间 DP 的转移只依赖区间长度与左端奇偶性,故按平移 2 格不变性坍缩成 n 层 × 2 状态,O(n) 判定;文中附「前 m 大值奇偶计数始终不失衡」的等价闭式证明,与官方扫描解法完全等价。

题解

代码模板-矩阵

汇总矩阵相关代码模板:矩阵乘法与缓存友好的循环顺序、矩阵快速幂(单位矩阵初始化、跳过零元优化),以及 (min, +) 广义矩阵乘法求恰好经过 k 条边的最短路。

代码模板

【线性代数】矩阵 学习笔记

从矩阵乘法的定义与实现讲起,介绍矩阵快速幂与转移矩阵构造,通过斐波那契数列、数列加速等例题讲解矩阵加速递推,并延伸到邻接矩阵幂计数定长路径与 (min, +) 广义乘法求恰好经过 k 条边的最短路。

学习笔记

从凌晨灵感到发布:一个 AI 可读的人脉图谱 Skill 开发全记录

记录从凌晨灵感出发,设计并发布一个 AI 可读的人脉图谱 Skill 的全过程:数据模型、独立 Obsidian Vault 架构、三层原子标签体系、图谱净化与审计脚本,以及打包发布到 SkillHub 的关键决策与资源链接。

AI

AtCoder ABC468 F - Chmax - Solution

将 1~N 的排列依次分配到两个变量上,最大化"当前值小于新值"的计数。核心结论:前缀最大值必贡献,剩余元素的最大贡献数为其 LIS 长度,答案 = 前缀最大值个数 + LIS(剩余序列),时间复杂度 O(N log N)。

题解

【动态规划】线性 DP 学习笔记

LIS 最长上升子序列的线性 DP 学习笔记,涵盖 O(n²) 朴素动态规划推导、最优子结构与无后效性分析、NOIP 2004 合唱队形例题,以及 O(n log n) 的 Patience Sorting(二分贪心)优化与常见误区。

学习笔记

洛谷 P1637 三元上升子序列 - Solution

给定长度为 $N$ 的序列,求满足 $i < j < k$ 且 $a[i] < a[j] < a[k]$ 的三元组个数。$N \le 10^5$,$a_i \le 10^9$。通过枚举中间位置 $j$,利用权值树状数组分别统计左右两侧的可行元素个数,$O(N \log N)$ 解决。

题解
1234

本站由 zaochen 使用 Stellar 2.0.0 主题创建。
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议,转载请注明出处。
全站访问量 - 次 · 访客数 - 人 · 本页面浏览 - 次

站内搜索

没有找到内容!