CodeForces 13C poj 3666 状态定义不同…

这个是因为状态定义不同产生的两种代码. 题意都是一样的,CF还简化了一种情况. 参考: poj3666 CF13 CF中定义: f[i][j] 表示将原始数列中的前 i 个数变成单调不降,第 i 个数最多为 B[j] 的最少操作次数 转移:f[i][j] = min(f[i][j-1],f[i-1][j]+abs(a[i]-b[j])) poj中定义: dp[i][j]表示:前i个数构成的序列,这个序列最大值为j,dp[i][j]的值代表相应的cost 转移: dp[i][j] = min(dp[i-1][k])+abs(a[i]-b[j]) (k<=j)

这两个复杂度是一样的,第二个看起来是多了一维复杂度,但是数据都可以在求值过程中得出.

,从起点,到尽头,也许快乐,或有时孤独,

CodeForces 13C poj 3666 状态定义不同…

相关文章:

你感兴趣的文章:

标签云: