动态规划Dynamic programming
保存子问题结果,按依赖组合出更大问题的解。
取决于状态数与每次转移的代价分治、动态规划、贪心和回溯等组织求解过程的方法。
保存子问题结果,按依赖组合出更大问题的解。
取决于状态数与每次转移的代价每一步按当前规则选择局部最优决策。
取决于选择与更新所用结构可证明局部选择性质的优化,或有明确边界的启发式。
探索候选解,遇到不可能的分支时回退。
取决于搜索树,可能达到指数或阶乘级约束求解、组合搜索与模式枚举。
把问题分成较小子问题,分别求解并组合结果。
由子问题数量、规模及合并成本决定协调两个位置,利用顺序或单调性避免重复扫描。
单向移动且每元素访问有限次时常为有序合并、区间扫描与成对查找。
维护连续窗口及其摘要,随着边界变化增量更新。
边界单向推进、更新 时总计连续子序列、流式聚合与局部条件匹配。