太上头了……
等会得去打一局雀魂挫败一下我写麻将题的兴趣(
看到麻将题就考虑 DP,设 fi,j,0/1,x,y,z 表示考虑了前 i 种牌,做了 j 个面子,无 / 有雀头,第 i−2 种牌用了 x 张,第 i−1 种牌用了 y 张,第 i 种牌用了 z 张时的最高分数。
但是注意到这样子转移的时候需要除以组合数或乘组合数,稍微有点麻烦;又注意到这些乘除的发生只是因为第 i−2,i−1,i 种牌的转移。
所以,可以把状态表示的东西改成:该情况下前 i−3 种牌的最高分数。
然后注意到实际上杠子是没用的……刻子显然是比杠子优的……
以及七对子直接贪心,国士无双直接枚举那个出现两次的牌。
(参考了 lydrainbowcat 大佬的 std)
代码:
1 |
|