怎么查斗地主最大的牌顺序牌解法

一道搜索+恶心的DP---毒瘤题

...如果没有zqy夶佬思路提示基本想不出来

考虑暴力搜顺子DP出散牌

为什么这样是对的呢?因为只有顺子与点数相连有关(必须连着)而散牌(几带几)与号码相连无关

暴力搜索顺子可以接受吧...注意细节长度必须大于5,32就行。

重点是DP打散牌部分(蒟蒻不会贪心)

由于散牌与号码(点数)无关所以设DP[ a ][ b ][ c ][ d ][ e ]为有a张单牌,b张对,c对三连d个炸弹,e张王的手牌状态

单张对子和三张牌就不说了,转移道理很简单

先考虑三带一:普通牌由[ a-1 ][ c-1 ]的状态转移过来

同理有四带二:可以由任意一个炸弹和两张单牌或两对牌组成

本题中王不算对子也就是我们在[ d-1 ]的基础上可以有

火箭(王炸)两张王,[ e-2 ]

这样就完事了吗不,考虑c和d号码相同可以拆牌

这里拆牌才是本题这种解法的关键

读到这里,可能会有两个问题

1.为什麼拆牌可能会更新最小值

2.为什么只能拆c和d,不能拆b?

3.为什么不能成拆更多的牌如[ c-2 ]?

答案1:其实反着想并不好想但我们应考虑这样一个问題:

比如现在我们有。按照正常DP出的话不能是顺子,出散牌的话只能三个三张牌出三次

但显然我们可以三带一+三带二两次出出去

所以峩们这里就相当与将一套三张牌拆成一张一对,更新了最小值

答案2:额成套的散牌只有三带一,三带一对四带二和四带一对

观察发现,几带几都是可以有对的不需要拆呀。。

而且对只能拆两张单直接出一对肯定定比出两张单好,次数少1嘛

答案3:这个问题其实不难想

转移时直接考虑到,已转移过不需再转移

好了说了这么多,下面给出代码:


}

我要回帖

更多关于 斗地主最大的牌顺序 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信