题意:给一个长度为n的序列,要求选出m个不相交的部分,要求总和最大,如果m>= n个数中正数的个数,那么输出所有正数的和。。
V1:n,m<=5000.
V2:n,m<=50000.
V3:n,m<=500000.
V1:
一个简单的DP。
明显有f[i][j]表示做到第i个,选择了j段。
那么可以推导:
新开一段 f[i][j]=f[i−1][j−1]+a[i]
不选 f[i][j]=f[i−1][j]
承接前一段
题意:给一个长度为n的序列,要求选出m个不相交的部分,要求总和最大,如果m>= n个数中正数的个数,那么输出所有正数的和。。
V1:n,m<=5000.
V2:n,m<=50000.
V3:n,m<=500000.
V1:
一个简单的DP。
明显有f[i][j]表示做到第i个,选择了j段。
那么可以推导:
新开一段 f[i][j]=f[i−1][j−1]+a[i]
不选 f[i][j]=f[i−1][j]
承接前一段