摘要: 题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4283 题意:n个人排队,每个人有一个权值val[i]。从第一个人开始出队,进入一个栈中,每次可以留在栈中或者从栈中移出一个,如果第 i 个人是第k个出栈的,那么有sum+=(k-1)*val[i],求是的sum最小。 f[i][j]表示区间第 i 个人到第 j 个人sum的最小值,那么每次转移的时候我们只要枚举第 i 个人是什么时候出的栈就可以了,假设第 i 个人是第k个出的栈,那么f[i][j]=Min{f[i+1][i+k-1]+(k-1)*num[i]+f[i+k][j]+k*(su... 阅读全文
posted @ 2013-09-05 23:53 zhsl 阅读(326) 评论(0) 推荐(1) 编辑