标签:
这个是因为状态定义不同产生的两种代码.
题意都是一样的,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 状态定义不同...
标签:
原文地址:http://blog.csdn.net/gg_gogoing/article/details/45533087