线性DP状态与阶段划分汇总
- 吃金币游戏
以方格总数为状态;
以来到最后一个方格抵达的方式为阶段。 - 最长上升子序列
以结束字符为状态;
以前面每一个比它小的元素为阶段。 - 最长公共子序列
以其中一个数组的每一个元素为状态;
以另一个数组的每一个元素为阶段。 - 最大连续子段和
以每一个结束的数字为状态;
以在此之前的之字段和是否为大于零的数为阶段。 - 最大子矩阵和
以起始行为状态;
以终止行为阶段。 - 花束摆放
以花束编号为状态;
以该束花所能放入前几个瓶子获得的美学值为阶段。 - 复制书稿
以书本的数目为状态;
以抄写员的人数为阶段。 - 最大m子段和
以数组元素的个数为状态;
以取出的数组个数为阶段。 - 生成字符串
以第一个数组的元素个数为状态;
以第二个数组元素个数为阶段。 - Codev 3027线段覆盖
以每条结束线段为状态;
以每条之前与其不相交的线段的最大价值为阶段。 - 尼克的任务
以倒推每个时间点为状态;
以该时间点所能获得的最大空暇时间为阶段。 - 满足条件子序列
以每个结尾数据为状态;
以当前状态下所能满足升序的所有数量为阶段。 - 洛谷P1799数列
以总数据个数为状态;
以该状态下擦掉的j个数字为阶段。 - 51nod1201整数划分
以小于概述的所有正整数为状态;
以划分数目的多少为阶段。 - 最小花费
以不下降的数字个数为状态;
以该数变化时所需的花费为阶段。
总结
无论是正推还是倒推,直接把状态定义为最优子问题是存在歧义的,从多次读题与分析问题的过程中,我真正的体会到了“平行问题”这一思维方式的强大功能以及最优决策表所带来寻找动态关系的巨大便利。无论别人怎么认为,至少就当前来说,至少对我来说,循序渐进地学习与脚踏实地地前进,是我当前唯一能做到的。