题解 | I. Chiitoitsu

Chiitoitsu

https://ac.nowcoder.com/acm/contest/33186/I

I. Chiitoitsu

题意分析

字母和数字是什么不重要,重要的是字母或数字不同就能区别不同的牌,那么实际上就是34种不同的牌,每种牌都有4张。

起手牌不会有超过两张相同的牌,那么在这种情况下,我们将手上的牌分为pair和single两个种类,当抽到一张pair中的牌时,由于这个pair已经存在,所以抽到的牌实际上没有用,直接弃掉;当抽到single中的牌时,两个相同的single就形成了一个pair,这就离目标7个pair更近了,所以这张牌需要保留;当抽到的牌啥也不是时,实际上弃掉此牌一定是一种最优策略(本质上相同牌数的single牌都是等价的)。

这里就需要观察到,在最优策略下,single牌在牌堆中永远有3张,因为我们不会用pair牌换掉single牌,而一旦抽到single就会形成pair。

题解

考虑使用dp,牌的种类可以简单看成“是否为pair”,再加上牌的数量,可以看出在仅需要考虑牌数、single数、pair数的情况下这种二维状态已经可以描述所有情况,记dp[i][j]表示pair数量为i,牌数为j时的期望。

转移则考虑“抽一张牌”的变化,具体就是上面分析中的情况,三种情况可以简化成两种,抽到single牌的时候直接保留,其他single牌由于数量完全相同所以本质上等价,任意弃一张即可;抽到pair牌或者不是手上已有的牌时直接弃置。于是就可以写出如下转移方程

dp[i][j]=1+3(132i)j×dp[i+1][j1]+j3(132i)j×dp[i][j1]dp[i][j]=1+\dfrac{3(13-2i)}{j}\times dp[i+1][j-1]+\dfrac{j-3(13-2i)}{j}\times dp[i][j-1]

不难发现,这个转移需要满足条件j3(132i)0j-3(13-2i)\ge0

代码就没必要放了。

全部评论

相关推荐

点赞 评论 收藏
分享
牛客963010790号:为什么还要收藏
点赞 评论 收藏
分享
评论
6
收藏
分享
牛客网
牛客企业服务