P3507 [POI2010] GRA-The Minima Game

原题

一开始还以为又要整什么SG函数就直接放弃思考了,后来看了题解才发现是贪心+dp

首先先对a从小到大排序

首先先说一个错误的贪心:每个人都只选最大的那一个数。这显然是错误的(笨笨的我起初甚至是这么想的),因为玩家可以把一些可能让对方变优的数自己先选掉,来使自己走向更优的策略。

因此这里有一个贪心:每个人只会选没选过的最大的若干个连续的数。首先最大显然。如果不选连续的数,那B就可能会把你没选过的最大的数选掉,也是不优的

因此我们设dpi表示选前i个数,让先手值最大,值是多少

可以得出递推方程:dpi=maxj=1iajdpj1,大致意思就是枚举当前玩家上一个位置选到哪。显然维护一个前缀最大值即可

最终复杂度O(n)

p.s. a不从大到小排序的原因是这样dp可能会出现先手不是B的情况

posted @   FOX_konata  阅读(8)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
点击右上角即可分享
微信分享提示