* * * * * 可以随时的开空间 与释放空间 * ???????? * * * * * * * * * * * * * * * * * * * * * * * * 减少策略总数 减少状态总数 减少决策变量的总数 * * * * F[i,j]{前I个公司分配j台机器所得的最大盈利} f[I,j]=max{ f[i-1,j-k]+a[i,j-k] } 0=k=j; 初始状态 f[i,0]=0; * * * * * * * * * * * F[I,J]=Min{F[I,K]+F[K,J]+S[I]*S[J]*S[K] * * * * * * * * * * * * * * * 在循环变化不能省略的情况下是不是能 把维数降下来 是不是能把决策的变化范围减少 来提高DP的效率 * * * 改进一下状态的表示方式,设F[I,j]表示前i个箱子叠放j个箱子时可承受的最小重量。 F[i,j]:=Min{F[i-1,j],F[i-1,j-1]+Weight[i] } Ans:=Max(J |F[i,j] )(F[i,j]〈=support[i]〉) 上述算法的状态总数为O(n*n),每个状态转移的状态数为O(1),每次状态转移的时间为O(1),所以总的时间复杂度 =1000*1000=1*10^6。 算法优化 改进后的算法的时间复杂度是改进前的

文档评论(0)

1亿VIP精品文档

相关文档