题意: 有n个带权球,A和B两个人,A先手拿球,一开始可以拿1个或2个,如果前一个人拿了k个,那么当前的这个人只能那k或k+1个,如果当前剩余的球不足,那么剩下的球都作废,游戏结束.假设两个人都是聪明人,每个人都会想方设法设获得比对方更多的球.问A最多能B多拿多少. 分析: 可以将先手取1~n的最优值看做一个问题,先手取2~n又是一个新的子问题,这样递归下去,便可求解. 设\(f[i][k]\)表示从第i个开始,可以取k或k+1个,先手取比对方多出的最大值(可能是负数). 考虑用记忆化搜索: \…