首页 > 其他分享 >博弈论+ybt题解

博弈论+ybt题解

时间:2024-12-20 12:42:17浏览次数:7  
标签:游戏 NIM 题解 博弈论 ybt text oplus SG

NIM游戏及其证明

题目描述即为T1,不多赘述

有向图游戏及SG函数

而对于由\(n\)个有向图游戏组成的组合游戏,设它们的起点分别为\(S_1, S_2, \ldots, S_n\),则有定理:

当且仅当\(\text{SG}(s_1) \oplus \text{SG}(s_2) \oplus \ldots \oplus \text{SG}(s_n) \neq 0\)时,这个游戏是先手必胜的。

考虑如何证明,我们考虑NIM游戏中一种合法的取法为选择一堆并取走其中任意大于0的石子数也就是可以从 \(a_i\) 转移到 \([a_i-1,0]\) 的任意值,并且NIM游戏时通过当所有 \(a_i\) 都为0时游戏为先手必输而推来的,如果满足这个两个条件就可以沿用NIM游戏的定理

我们考虑 \(SG(x)\) 的定义,就是与 \(x\) 直连的所有后继的 \(mex\),所以 \(SG(x)\) 可以直接转移到 \([SG(x)-1,0]\),并且当所有 \(SG(a_i)\) 都为0时,游戏也是先手必输局面,这显然也满足NIM游戏的定义,所以可以直接沿用NIM游戏的证明,证毕

同时有意思的一点是,NIM游戏也可以用SG函数来解释,我们有k堆相当于有k个起点,然后对于每个堆可以拿走任意个的限制就是对于 \(a_i\),它所对应的节点 \([a_i-1,0]\) 都有一条有向边,所以 \(SG(a_i)=a_i\),也恰恰符合了定义

标签:游戏,NIM,题解,博弈论,ybt,text,oplus,SG
From: https://www.cnblogs.com/zcxnb/p/18619051

相关文章

  • (自用)[USACO2023-JAN-Bronze] T1 LEADERS 题解
    题目描述农夫约翰有\(N(2≤N≤10^5)\)头奶牛,每一头奶牛的品种是更赛牛G或荷斯坦牛H中的一种。每一头奶牛都有一个名单,第\(i\)头奶牛的名单上记录了从第\(i\)头奶牛(即自己)到第\(E_i(i≤E_i≤N)\)头奶牛的连续所有奶牛。每一种奶牛都有且仅有一位“领导者”,对于某一头牛......
  • 博弈论
    感觉这东西像我的人生一样莫名其妙。在oi生涯结束前再留一些遗产吧。upd:完了,突然感觉还挺有意思的。0.1.公平组合游戏公平组合游戏(ICG),是满足以下特征的一类问题:双人,回合制;游戏规则对于两个玩家是公平的;游戏的状态有限,能走的步数也有限;两人轮流行动,当一个玩家不能行动......
  • [CF494D] Birthday 题解
    首先\(S(u)\)显然是\(u\)的子树。假如\(u\)是定点,问题转化为区间求平方和,十分简单。于是我们用线段树维护区间平方和,支持区间加,然后离线问题,在\(u\)的位置处理即可。线段树从\(fa\)转移到\(u\)是极度简单的。时间复杂度\(O(n\logn)\)。#include<bits/stdc++.h>......
  • Luogu P10838 『FLA - I』庭中有奇树 题解 [ 绿 ] [ 二分 ] [ 双指针 ] [ 树 ]
    庭中有奇树:很多算法揉在一起的好题。转化题意因为要封锁\(m\)条路径,根据贪心思想,他一定会封锁最短的\(m\)条路径。所以我们能走的最短传送路径就是最短的第\(m+1\)条路径。这应该是本题最关键的一步转化了,几个月前降智了根本没想到这个。做法求第\(m+1\)短的路径,这个......
  • 组合数学+ybt题解
    加法原理乘法原理排列数从\(n\)个数中任取\(m\)个元素的排列的方案数,表示为\(A^m_n=\frac{n!}{(n-m)!}\)\(0!=1\)全排列\(A^n_n\)组合数从\(n\)个元素中取出\(m\)个元素的组合的个数,表示为\(\dbinom{n}{m}=\frac{A^m_n}{m!}=\frac{n!}{m!(n-m)!}\)如何理解呢?......
  • P3316 [SDOI2014] 里面还是外面 题解
    实现有些傻瓜,喜提时空双最劣解。首先要判断一个点是否在多边形内,一个比较好的方法是从这个点向上引一条射线,若和奇数条边相交就在多边形内,否则在多边形外。二维信息,考虑用树套树维护。把多边形的每一条边都扔到它\(x\)坐标范围的线段树节点里,即线段树节点\((l,r)\)里面维护......
  • 洛谷 P11337 「COI 2019」IZLET 题解
    如果每条边连接的两个点颜色都不相同,那么可以使用如下策略确定每个点的颜色:令\(c_{i,j}\)为\(i\)到\(j\)的路径上的颜色数。对于每个点\(u\),以其为根进行一次dfs,往下找直到找到一个和它颜色相同的或者一个叶子就回溯,如果遇到颜色相同的就将它们在并查集上合并。考虑如何......
  • [Yandex Cup 2024 Qual F] Zeroth Rome 题解
    前言Englishversionofthiseditorialisprovidedafterthesamplecode.题意简述本题为交互题,你需要猜\(t\)个\([0,2024]\)间的非负整数\(x_1,x_2,\ldots,x_t\),可以询问最多\(15\)次,每次询问形如“给定一个大小为\(N(1\leN\le2025)\)的集合\(S\)满足\(S\)......
  • [APC001H] Generalized Insertion Sort 题解
    将\(a_i\)视为放在结点\(i\)上面的球;称位置\(i\)对应的球为\(i\),区别于“位置\(i\)上面的球为\(a_i\)”。考虑树是一条链的时候怎么做(下称链插入方法):此时只需要将这条链上面的球按照编号从上到下排序。这是一个类似插入排序的过程,维护深度最大的的若干个球编号的相对顺......
  • [USACO24OPEN] Grass Segments G 题解
    考虑对于一个区间\([l_i,r_i]\),最少重叠长度为\(k_i\),怎样的区间\([l_j,r_j]\)可以与前者产生贡献;首先\(r_j-l_j\gek_i\),在满足这个条件的情况下需要有\(r_j\gel_i+k_i\landl_j\ler_i-k_i\),这里\(\land\)表示合取,即C++中的\(\mathrm{and}\)。正难则反,考虑用长度\(......