区间DP(切木棍,uva 10003)

每次切割的费用等于被切割的木棍长度。


#include
using namespace std;

int l,n;
int c[60];
int dp[60][60];

int main()
{
    while(scanf("%d",&l),l)
    {
        scanf("%d",&n);
        for(int i=1;i<=n;i++)
            scanf("%d",&c[i]);
        c[0]=0;
        c[n+1]=l;
        memset(dp,0x3f,sizeof(dp));
        for(int i=1;i<=n+2;i++)
            for(int j=0;j+i-1<=n+1;j++)
            {
                if(i<=2) dp[j][j+i-1]=0;
                for(int k=j+1;k


你可能感兴趣的:(紫书-第9章-动态规划初步,动态规划)