题目描述 某一天gty在与他的妹子玩游戏.妹子提出一个游戏,给定一棵有根树,每个节点有一些石子,每次可以将不多于L的石子移动到父节点,询问将某个节点的子树中的石子移动到这个节点先手是否有必胜策略.gty很快计算出了策略.但gty的妹子十分机智,她决定修改某个节点的石子或加入某个新节点.gty不忍心打击妹子,所以他将这个问题交给了你.另外由于gty十分绅士,所以他将先手让给了妹子. 输入 第一行两个数字,n和L,n<=5*10^4,L<=10^9第二行n个数字,表示每个节点初始石子数.接下来n-…
Description 给定N个仅有a~z组成的字符串ai,每个字符串都有一个权值vi,有M次操作,操作分三种: Cv x v':把第x个字符串的权值修改为v' Cs x a':把第x个字符串修改成a' Q:求出当前的最大权字符串集合,使得这个集合中的字符串经过重新排列后满足除最后一个字符串外,前一个字符 串是后一个的前缀(两个字符串相同也是前缀关系,也可以一个字符串都不选) 前50%的数据可以接受离线算法,后50%的数据要求在线算法. Input 输入的第一行包含一个正整数Test表示当前的数…
未经博主同意不得转载 3729: Gty的游戏 Time Limit: 20 Sec  Memory Limit: 128 MBSubmit: 448  Solved: 150 Description 某一天gty在与他的妹子玩游戏.妹子提出一个游戏,给定一棵有根树,每个节点有一些石子,每次可以将不多于L的石子移动到父节点,询问将某个节点的子树中的石子移动到这个节点先手是否有必胜策略.gty很快计算出了策略.但gty的妹子十分机智,她决定修改某个节点的石子或加入某个新节点.gty不忍心打击妹子,…
1067 Bash游戏 V2  基准时间限制:1 秒 空间限制:131072 KB 分值: 10 难度:2级算法题  收藏  关注 有一堆石子共有N个.A B两个人轮流拿,A先拿.每次只能拿1,3,4颗,拿到最后1颗石子的人获胜.假设A B都非常聪明,拿石子的过程中不会出现失误.给出N,问最后谁能赢得比赛. 例如N = 2.A只能拿1颗,所以B可以拿到最后1颗石子. Input 第1行:一个数T,表示后面用作输入测试的数的数量.(1 <= T <= 10000) 第2 - T + 1行:每行1…
传送门 题意 n堆石子,每次可以取一堆至三堆任意非零石子数,取完者赢,问最后谁能赢 分析 以前我们做过NIM博弈是对一堆进行操作,现在换成了三堆,其实对于n堆都一样一堆的情况 如果最后二进制每位数的1的个数存在不为偶数,则胜,都为偶数,则败 三维的情况(类比) 如果最后二进制每位数的1的个数不为4的倍数,则胜,否则败 对于n维的情况 如果最后二进制每位数的1的个数不为(n+1)的倍数,则胜,否则败 trick 代码 #include<cstdio> int t,n,x; int a[30];…
正题 题目链接:https://darkbzoj.tk/problem/3729 题目大意 给出\(n\)个点的一棵树,第\(i\)个节点上有\(a_i\)个石子,然后每次可以选择不超过\(L\)个石子移动到父节点处.要求支持操作 以一个节点的子树进行博弈是否有先手必胜 修改一个节点的石子个数 插入一个新的叶子 \(1\leq n,m\leq 5\times 10^4,1\leq L\leq 10^9\) 解题思路 额,首先是阶梯博弈和巴什博弈的缝合怪 巴什博弈结论是石头直接模上一个\(L+1\…
NIM游戏,NIM游戏变形,威佐夫博弈以及巴什博奕总结 经典NIM游戏: 一共有N堆石子,编号1..n,第i堆中有个a[i]个石子. 每一次操作Alice和Bob可以从任意一堆石子中取出任意数量的石子,至少取一颗,至多取出这一堆剩下的所有石子. 两个人轮流行动,取走最后一个的人胜利.Alice为先手. 我们定义: P:表示当前局面下先手必败 N:表示当前局面下先手必胜 N,P状态的转移满足如下性质: 1.合法操作集合为空的局面为P 2.可以移动到P的局面为N,这个很好理解,以为只要能转换到P局面…
博弈论入门: 巴什博弈: 两个顶尖聪明的人在玩游戏,有一堆$n$个石子,每次每个人能取$[1,m]$个石子,不能拿的人输,请问先手与后手谁必败? 我们分类讨论一下这个问题: 当$n\le m$时,这时先手的人可以一次取走所有的: 当$n=m+1$时,这时先手无论取走多少个,后手的人都能取走剩下所有的: 当$n=k*(m+1)$时,对于每$m+1$个石子,先手取$i$个,后手一定能将剩下的$(m+1-i)$个都取走,因此后手必胜: 当$n=k*(m+1)+x(0<x<m+1)$时,先手可以先取$…
题目链接: 传送门 Brave Game Time Limit: 1000MS     Memory Limit: 65536K 题目描述 各位勇敢者要玩的第一个游戏是什么呢?很简单,它是这样定义的: 1. 本游戏是一个二人游戏; 2. 有一堆石子一共有n个: 3. 两人轮流进行; 4. 每走一步可以取走1-m个石子: 5. 最先取光石子的一方为胜: 如果游戏的双方使用的都是最优策略,请输出哪个人能赢 思路 巴什博弈 只有一堆n个石子,两个人轮流从这堆石子中子,规定每次至少取一个,最多取m个.最…
Brave Game Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 84 Accepted Submission(s): 72   Problem Description 十年前读大学的时候,中国每年都要从国外引进一些电影大片,其中有一部电影就叫<勇敢者的游戏>(英文名称:Zathura),一直到现在,我依然对于电影中的部分电脑特技印象深…