poj1837--dp

动态规划的思想主要是当前状态是由上一个状态决定的。

每向天平中挂上一个重物,天平的状态就会改变,而这个状态可以由若干前一状态决定的。  

这里的dp[i][j]表示挂上i个重物后平衡度为j。j大于0说明右端比左端重j,j小于0反之。

距离c[i]的范围是-15~15,钩码重量的范围是1~25,钩码数量最大是20,因此j最大值为15*20*25=7500。但其他博客上提出左端的时候j会出现负数,因此设定j=7500时平衡。 力臂=重量 *臂长 = w[i]*c[k]。

设 dp[i-1][j]=num,则下一个状态是dp[i][ j+ w[i]*c[k] ] (第k个重物挂在第i个钩子上,得到状态j+ w[i]*c[k]),得出状态方程:

dp[i][ j+ w[i]*c[k] ]= ∑(dp[i-1][j])

边界条件:dp[0][7500] = 1;   

猜你喜欢

转载自blog.csdn.net/Jazzmine/article/details/82824478