博弈论
lasomisolaso~
这个作者很懒,什么都没留下…
展开
-
CF 666 (Div. 2) D. Stoned Game【博弈论】
题意:有nnn堆石头,两个人轮流拿石头。每个人只能从一堆石头中拿走一个,并且这堆石头不能是上一轮另外一个玩家拿过的。谁没有石头拿就输了。思路:设当前所有石头堆的石头数量的总和为SSS。**第一种情况:**如果某一堆石头的个数大于 ⌊S2⌋\lfloor \frac{S}{2} \rfloor⌊2S⌋ ,那么肯定是先手获胜,就是面临这种情况的玩家必胜。如果一堆石头大于 ⌊S2⌋\lfloor \frac{S}{2} \rfloor⌊2S⌋ ,那么其它所有石头的和都比这堆石头少。那么先手只要一直拿原创 2020-09-23 22:36:36 · 305 阅读 · 0 评论 -
2020 杭电多校 第七场 1007(6850) Game
题意:在一个二维平面内,给出nnn个点。两个玩家在二维平面上玩游戏。第一个玩家从第一个点开始操作,两个人轮流操作。游戏规则是,当前玩家从当前所在点跳向另外一个点,要求这个点没有被跳过,且本次跳跃的距离要比上一次跳跃的距离要长。特别的,第一次跳跃可以跳任意长度。题解:每次都从当前剩下的点集中,删去长度最长的边的端点,把这些点放到一个集合中。这个集合中可以跳跃的最长距离就是刚刚删去的距离。这样可以将给出的nnn个点分成若干个集合,每一个集合中能跳的最长距离就是将它删去时候的距离。官方题解给出的伪代码:原创 2020-08-12 21:41:37 · 952 阅读 · 0 评论