讨论 / 本人初学DP 牛们能不能讲下能力项链的思路
liruyuan 2011-11-17 06:22:00
点我顶贴 收藏 删除
本人初学 想听下思路

谢谢

#1 PengMei@2010-08-18 21:09:00
回复 删除
回复 楼主liruyuan 的帖子

1、阶段和状态:

很明显的动规,类似“石子合并”或“矩阵相乘”,此题主要不同在于环的处理问题.

环的处理方法:将长为n的环展开为长为2n的链来处理。

a[i]:表示第i颗珠子的头标记;a[n+i]=a[i];

b[i]:表示第i颗珠子的尾标记;b[i]=a[i+1];b[2*n]=a[1];

f[i][j]:表示从第i颗到第j颗珠子合并为一颗珠子释放的最大能量;

2、状态转移方程:

初始化: f[i][i+1]=a[i]*b[i]*b[i+1];

转移方程:f[ij]=min{f[i][k]+f[k+1][j]+a[i]*b[i]*b[i+1]}(i<=k<=j-1)

Answer=max{f[i][i+n-1]},(1<=i<=n)

时间复杂度为O(n^3)。

#2 Xzzzzz@2011-11-17 06:22:00
回复 删除
分段dp ls说得很清楚

这道题被数据坑了 N开100不行。。我一开始看到最后两个错了很惊讶 开1000就AC了= =

查看更多回复
提交回复