摘要:
啊 啊 啊 ,好多有力无气的感叹。 阅读全文
摘要:
题意:给出一个数列长度小于5000,每次操作将数列中的数加1或减1,问最少需要多少步操作可以得到一个不降序列;分析:可知最少的次数,一定是由原来的数据构成的(据说可以用反证法证),即有原来的数组成的不降子序列中有一个最小的情况; 我们用F[i][j] = min(F[i][j -1] (不包含这一个时),F[i-1][j] + fabs(A[i] - B[j])(包含这一种时));其中B[]代表不重非减序列i,j代表前个数最大为B[j]时的最优情况;注意:本题数据大,F[][]的过程用到了滚动数组; 1 #include 2 #include 3 #include 4 #include ... 阅读全文