最大连续子列和除了最优值,还可能要求返回对应的起止元素。扫描时维护当前累加和与候选起点,在更新最优值时保存两端位置;结合全负数和含零序列,说明状态重置、结果初始化与题目特定输出规则 ...
最大连续子列和除了最优值,还可能要求返回对应的起止元素。扫描时维护当前累加和与候选起点,在更新最优值时保存两端位置;结合全负数和含零序列,说明状态重置、结果初始化与题目特定输出规则 ...
统计家谱中每一代没有孩子的人,需要同时识别叶子结点并保留它所在的层级。用 vector 存储子结点,在 DFS 中传递深度,将叶子数累加到对应层;一次树遍历便把家族关系转成按层统计 ...
Choosing a shortest-path algorithm starts with its assumptions about edge weights. Dijkstra's finalization step relies on ...
Knuth 洗牌、三阶幸福数和垃圾分类,分别考查交换模拟、循环识别与映射查询。三道题的 C++ 解法展示了如何把题意转成需要维护的状态,并处理重复迭代、终止标记和输入规模等细节,避 ...
已知一个数与给定整数的最大公约数、最小公倍数,怎样统计所有可能的取值?把条件化为整除与互质约束后,候选值可以限制在指定整数的约数中。通过成对枚举因子和最大公约数检查缩小搜索范围,展 ...
动态规划的难点在于定义状态:需要保留哪些信息,才能从已有结果推导下一步?从最优子结构、重叠子问题和无后效性出发,结合背包、环形传球与方格取数等例题,观察约束如何进入状态与转移,并在 ...
放生顺序会改变消息传播的范围,也就改变需要安抚的羊数。一次选择将剩余问题分成左右两个区间,因此可以枚举区间中先处理的位置,将两侧最小代价与本次代价合并。围绕边界设置和状态转移,理解 ...
博客能够访问,与文章被搜索引擎发现和收录,是需要分别检查的事情。这份 Hexo 实践记录从 URL 设计和站点归属验证出发,比较链接推送、Sitemap 与手动提交,再查看接口反馈 ...
火星人用手指的排列次序表示数字,加上一个小整数便相当于向后移动若干个排列。识别这个对应关系后,无需把巨大排名转换为普通整数,也不用生成全部排列;在题目给定的增量范围内,重复调用 n ...
稀疏多项式的输入只给出非零项,相加后却可能出现同次项合并或系数抵消。以指数作为数组下标累加系数,再按指数降序输出结果;PAT 1002 的解题过程同时关注负系数、非零项计数和一位小 ...