[洛谷P2540]【NOIP2015】斗地主增强版(DP+搜索)

文章目录

题目

P2540 斗地主增强版

分析

如果不出顺子,那么怎么出最优是可以DP解决的: d p [ i ] [ j ] [ k ] [ l ] dp[i][j][k][l] dp[i][j][k][l]表示一副牌有 i i i个炸弹、 j j j个三张、 k k k个顺子、 l l l个单牌的最优出法。在这个状态定义下,原来的 4 i + 3 j + 2 k + l 4i+3j+2k+l 4i+3j+2k+l张牌变成了 i + j + k + l i+j+k+l i+j+k+l张牌,你只需要考虑怎么组合(下面用 i i i j j j l l l l l l分别代指“炸弹”“三张”“对子”“单牌”这四种牌):

  • 一张一张出完;
  • 出一张 i i i,状态转移;
  • 将一张 i i i变成一张 j j j和一张 l l l,状态转移(“炸弹”拆成一个三张和一个单牌);
  • ……(共 13 13 13种情况,详见代码)

这样就可以轻(jue)松(wang)地完成DP了。

然后Dfs搜索顺子的打法,打了顺子过后就直接用上面的 d p dp dp值,将剩下的牌打完即可,注意处理一下大小王的情况(这道题里面大小王不算对子)。

代码

突然爱上了打空格XD

#
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值