【hdu4283】区间动态规划问题

本文介绍了如何使用区间动态规划方法解决HDU4283题目的队伍调整问题,以最小化所有人的总愤怒值。通过分析问题特点,确定使用动态规划的思路,将区间分为三部分进行计算,并给出核心代码实现。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

题目编号:

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值