UVA - 1379 Pitcher Rotation (dp+贪心)

问题

分析

因为要记录前四天的出场的投手,所以需要有四个维度用来记录投手的编号,但是投手最多有100个,这样的话就超出了空间,而且时间也会超出,所以使用贪心来优化,因为对阵一个球队最多需要5个投手(极端情况下连续6天对阵同一支球队,第6天和第1天的出场投手可以相同),这样的话对于每只球队,只需要记录对应他的胜率最高的5个投手就行了,出场的一定是这5人中的一个,那么维度大小就可以是6(剩余一个给没有比赛时,不需要球手出场),使用滚动数组压缩空间,状态dp[i][a][b][c][d]的累计胜利期望,i代表第i天,其中a,b,c,d分别代表第i-3,i-2,i-1,i天出场的投手
转移方程:如果第i天没有赛事, d p [ i + 1 ] [ b ] [ c ] [ d ] [ 0 ] = m a x ( d p [ i + 1 ] [ b ] [ c ] [ d ] [ 0 ] , d p [ i ] [ a ] [ b ] [ c ] [ d ] ) dp[i+1][b][c][d][0]=max(dp[i+1][b][c][d][0],dp[i][a][b][c][d]) dp[i+1][b][c][d][0]=max(dp[i+1][b][c][d][0],dp[i][a][b][c][d])
如果有赛事, d p [ i + 1 ] [ b ] [ c ] [ d ] [ i d ] = m a x ( d p [ i + 1 ] [ b ] [ c ] [ d ] [ i d ] , d p [ i ] [ a ] [ b ] [ c ] [ d ] + p i t c h e r [ r i v a l [ i ] ] [ i d ] . g r a d e )

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值