题目编号:
HDU4283
题目链接:
http://acm.hdu.edu.cn/showproblem.php?pid=4283
题目描述:
N(N <= 100)个人排成一个队列上舞台,上舞台之前旁边有一个小黑屋(后进先出,其实就是一个栈),队首的人可以选择进小黑屋,或则上舞台。
每个人有一个躁动值值,第i个人的躁动值为a[i],则第i个人的愤怒值为,(K-1) * a[i],k是他最后的出场次序。
求经过这个栈调整后的最终出场顺序,得到所有人的总愤怒值最小。如图:
样例输入:
1 2 3 4 5
样例输出:
20
解释:逆序输出总愤怒值最小,即5*0 + 4*1 + 3*2 +2*3 + 1*4 = 20
题目分析:
N <= 100,那么基本就是动态规划的方法了,
其实本质就是,第i个人选择进栈或者上场,暴力法的O(2^N),故考虑用DP
100个人,单行线性可列的,
且满足区间独立性,即[l, r]的结果可以分成[l, k] + k + [k + 1, r]&#x