算法求解答,想了一天都不知道怎么做

大致意思就是和对手竞赛,每轮给你一个分牌,上面有分值,如果保留分牌可以在本轮结算时获得当前手上拥有的分牌的总分值一倍分值,如果选择使用分牌(可以是之前轮次获得的攒的分牌)则在本轮及后两轮给你使用分牌分值三倍的分值,总共20轮,现在给你对手每轮结算时的分值,以及自己每轮会获得的分值,然后问在每轮都赢的情况下,最后一轮获得的分值最大是多少?
比如(四轮举例)
输入
3 5 7 6对手每轮结算分值
2 3 3 6 自己每轮得到的分牌分值
那么第一轮为了赢,直接使用2,第二轮因为第一轮使用了2所以第二轮天生有6分,加上没用分牌的3,第二轮获得9分,第三轮是6+3+3共12分,也不用用,最后一轮因为2在第一轮用的所以第四轮没有2的三倍的分值,选择将之前攒的牌全部用掉,会获得3+3+6共12分的三倍,36分。

尝试过用dp[i][j],i表示轮次,j表示状态,比如状态0为当前轮次手牌分,1为当前轮次使用分牌,2为前一轮次使用分牌,3为前两轮次使用分牌,但是状态转移不会写

试过直接用贪婪算法,每轮使用牌使得总分值比当前轮次稍大即可,但是比如输入是
1 8 9 26 7 5
3 4 5 7 1 1
这样子的,那么按照贪婪算法,第二轮应该使用3,那么在第四轮总值是25,还需要再用一个4反而亏了,所以应该在第二轮使用4

所以迷茫了,难道要使用回朔方法,每次遇到需要使用牌的时候把所有使用牌大于对手分值的可能性都列出来然后尝试每种可能性往后进行求解吗?这个感觉是可以,但是复杂度感觉太高了

所以求大佬解答啊,完全不会2333

你好,我是有问必答小助手,非常抱歉,本次您提出的有问必答问题,技术专家团超时未为您做出解答


本次提问扣除的有问必答次数,将会以问答VIP体验卡(1次有问必答机会、商城购买实体图书享受95折优惠)的形式为您补发到账户。


因为有问必答VIP体验卡有效期仅有1天,您在需要使用的时候【私信】联系我,我会为您补发。