一、题目:
给出一个数字(10,000~100,000,000),把这个数字拆分成4段,怎样使得4段的乘积最小。比如12345拆分成1*2*3*45=270, 10000=1*00*0*0=0。
二、分析:
这是一个典型的DP问题,假设dp[i][j]表示分成i段,且字符串指针移动到第j位时的最小乘积。 则显然i<=j.
num[i][j]是数字中从第i个数字到第j个数字组成的数字。则可以得到DP的状态方程:
一、题目:
给出一个数字(10,000~100,000,000),把这个数字拆分成4段,怎样使得4段的乘积最小。比如12345拆分成1*2*3*45=270, 10000=1*00*0*0=0。
二、分析:
这是一个典型的DP问题,假设dp[i][j]表示分成i段,且字符串指针移动到第j位时的最小乘积。 则显然i<=j.
num[i][j]是数字中从第i个数字到第j个数字组成的数字。则可以得到DP的状态方程: