码迷,mamicode.com
首页 > 其他好文 > 详细

CodeForces 13C && poj 3666 状态定义不同...

时间:2015-05-06 13:26:44      阅读:117      评论:0      收藏:0      [点我收藏+]

标签:

这个是因为状态定义不同产生的两种代码.
题意都是一样的,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

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!