http://acm.hdu.edu.cn/showproblem.php?pid=1024
题意:有一个含n个数的序列,找到m个子序列,使这m个子序列的和最大。
分析:先用状态 dp[ i ][ j ] 表示前 j 个数取出 i 段所得到的最大值。 可以知道,对于下一个数,有以下三种操作:
1、不取这个数 。
2、取这个数并当作上一段的尾巴。
3、取这个数并当作新一段的头部。
对于这三种操作,状态转移方程为:
$ dp[ i ][ j ]=max ( dp[ i ][ j-1 ] , dp[ i ][ j-1 ]+num[ j ] , max( dp[ i-1 ][ t ] ) + num[ j ] ) $
原文地址:https://www.cnblogs.com/-Zzz-/p/11441225.html
时间: 2024-11-02 01:17:32