从凌晨灵感到发布:一个 AI 可读的人脉图谱 Skill 开发全记录
记录从凌晨灵感出发,设计并发布一个 AI 可读的人脉图谱 Skill 的全过程:数据模型、独立 Obsidian Vault 架构、三层原子标签体系、图谱净化与审计脚本,以及打包发布到 SkillHub 的关键决策与资源链接。
记录从凌晨灵感出发,设计并发布一个 AI 可读的人脉图谱 Skill 的全过程:数据模型、独立 Obsidian Vault 架构、三层原子标签体系、图谱净化与审计脚本,以及打包发布到 SkillHub 的关键决策与资源链接。
将 1~N 的排列依次分配到两个变量上,最大化"当前值小于新值"的计数。核心结论:前缀最大值必贡献,剩余元素的最大贡献数为其 LIS 长度,答案 = 前缀最大值个数 + LIS(剩余序列),时间复杂度 O(N log N)。
LIS 最长上升子序列的线性 DP 学习笔记,涵盖 O(n²) 朴素动态规划推导、最优子结构与无后效性分析、NOIP 2004 合唱队形例题,以及 O(n log n) 的 Patience Sorting(二分贪心)优化与常见误区。
给定长度为 $N$ 的序列,求满足 $i < j < k$ 且 $a[i] < a[j] < a[k]$ 的三元组个数。$N \le 10^5$,$a_i \le 10^9$。通过枚举中间位置 $j$,利用权值树状数组分别统计左右两侧的可行元素个数,$O(N \log N)$ 解决。
本题给出 $m \times n$ 网格,每个格子有入口代价和罚金。从 $(0,0)$ 出发,第 $k$ 步移动方向由 $k$ 的奇偶性决定(奇数步只能右/下,偶数步只能左/上),违反规则或原地等待需支付罚金。分析指出朴素 DFS 因方向奇偶交替导致搜索空间巨大,进而将「位置 + 步数奇偶性」纳入状态,转化为 $2mn$ 个节点的隐式图,每条合法移动(含等待)建有权边,跑 Dijkstra 即可求解。文章详细推导了状态设计、转移规则,给出了 C++ 参考实现,并总结了 vis 标记时机、罚金归属、整数溢出等避坑要点。
利用康托展开 + 可重集排列计数,在 O(n·26·log n) 内求回文串所有不同排列按字典序排序后的第 k 个,通过剪枝提前判断无解情况。
介绍康托展开与逆康托展开的原理、公式推导和代码实现,涵盖排列排名计算、第 k 个排列生成,以及配合树状数组优化的 O(n log n) 解法。
康托展开 康托展开用于求 $1 \sim n$ 的排列在所有排列中的字典序排名,用树状数组维护未使用过的数中比当前数小的个数。预处理阶乘 $O(n)$,单次展开 $O(n \log n)$。 123456789101112131415161718...
1. 题目数据 (Problem Metadata) 题目类型:传统题 题目链接:Problem - 670C - Codeforces 时间限制:2 秒 内存限制:256 MB 2. 题意简述 (Problem Summary) 给定 $n...
提供离散化的数组与 vector 两种代码模板,包含排序去重、lower_bound 查询映射关系,适用于值域压缩场景。