首先比较容易会想到需要在dp时每一位考虑用了wildcard和没用wildcard的情况 没用wildcare的情况比较简单(见F(i)定义) 用了wildcare的情况为什么要考虑 G(i) 和 H(i),请看以下案例: 10, 3, 10, 5, 6 G(2)的最优解是[1, 3, 10], i.e. 把第一个10换成1 H(2)的最优解时[3, 4], i.e. 把第二个10换成4 虽然此刻G(2)的长度大于H(2), 但是最终解选择的是H(2), i.e. [3, 4, 5, 6] 反之,如果案例变成 10,3,10,11,12 最终解在选择的是G(2), i.e. [1, 3, 10...