摘要:
我感觉这更像个数学问题。dp[i][j]表示将i件物品分成j组的方案数。状态转移方程:dp[i][j] = dp[i-1][j-1] + j * dp[i-1][j];将i张卡分成j组可以有之前两种情况得来:i-1张卡分成j-1组,只要将第i张卡独立分成一组就行了,或者是i-1张卡分成j组,第i张卡... 阅读全文
摘要:
求子矩阵的最大和对于样例:0 -2 -7 09 2 -6 2-4 1 -4 1-1 8 0 -2其最大子矩阵为9 2-4 1-1 8这个子矩阵的和为15想明白后,这是个最大连续子序列的变形sum[k]存放的是矩阵中第k列从第i行到第j行的和每次求出sum数组的最大... 阅读全文
摘要:
本来是很简单的一道题,却想了好长时间由于数据量比较大,所以逐行读入,逐行处理先处理每一行的不相邻元素和的最大值,记录在数组b中最后计算不相邻行的和的最大值二者的状态转移方程都类似:dp[j] = max(dp[j - 1], dp[j - 2] + a[j]); 1 //#define LOCAL ... 阅读全文