给出长度为 n 的序列 {ai},求至少修改其中的几个数,能够变成严格单
调递增。
尝试转化成已知的问题:如果原问题是非严格单调递增,则直接求出
LIS 的?度,从 n 中减去就行了。
注意到 ai 都是整数,ai < ai+1 相当于 ai + 1 ≤ ai+1,于是
a1 < a2 < · · · < an?1 < an
就相当于
a1 + (n ? 1) ≤ a2 + (n ? 2) ≤ · · · ≤ an?1 + 1 ≤ an
将原数组进行预处理,就可以转化成 LIS 问题了。
给出长度为 n 的序列 {ai},求至少修改其中的几个数,能够变成严格单
调递增。
尝试转化成已知的问题:如果原问题是非严格单调递增,则直接求出
LIS 的?度,从 n 中减去就行了。
注意到 ai 都是整数,ai < ai+1 相当于 ai + 1 ≤ ai+1,于是
a1 < a2 < · · · < an?1 < an
就相当于
a1 + (n ? 1) ≤ a2 + (n ? 2) ≤ · · · ≤ an?1 + 1 ≤ an
将原数组进行预处理,就可以转化成 LIS 问题了。