
博弈
-Dong
本博客转载或复制的内容只作为自己复习回顾用,无意触犯原出处。
展开
-
SG函数入门
参考博客:https://baike.baidu.com/item/SG%E5%87%BD%E6%95%B0/1004609https://www.cnblogs.com/ECJTUACM-873284962/p/6921829.html主要参考百度百科:首先定义mex(minimal excludant)运算,这是施加于一个集合的运算,表示最小的不属于这个集合的非负整数。例如mex{...原创 2018-10-11 10:04:46 · 915 阅读 · 0 评论 -
Split Game (SG函数)单堆分为多堆
题目:oj26548DescriptionFor a long time, rich clientele of Binary Casino has been requesting a new way to gamble their money. To fulfill their wishes, the director of Binary Casino decided to introdu...原创 2019-04-18 12:58:24 · 525 阅读 · 0 评论 -
多校2 hdu 6312 Game (博弈)
题目链接:哆啦A梦传送门题意:Alice 和 Bob玩游戏,给你个n,有1到n位数,Alice先手,每次可以任选一位数,每次选择完毕,会将选择的数的除数给剔除掉,假设是先手win,输出 Yes。 题解:这题就是个shagua式题,我弄了前5个数,想都没想直接输出Yes,因为前5个数很难有什么迷人的规律。不过网上一大篇题解说,2到n一定有一个必胜态,说假如2到n先手win,就直接按2...原创 2019-02-13 19:28:39 · 405 阅读 · 0 评论 -
多校3 hdu 6324 Problem F. Grab The Tree (博弈)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=6324题意:小Q和小T正在玩游戏,一棵树上有n个点,每个点有一个权值,小Q先取任意个点(相邻的点不能同时取),剩余的都给小T。题解:很显然小Q只要把二进制最高位的数字给取到就行了,因为剩余的数字小T不管怎么异或,也不能超过小Q的值。但还有一种情况,就是树上所有权值异或为0,那么此时就只能是平局了...原创 2019-02-16 09:24:38 · 210 阅读 · 0 评论 -
poj 2960 S-Nim (SG函数)
题目链接:哆啦A梦传送门题意:nim游戏变形,只不过每次取得个数只能在集合S{s1,s2,...,sk}选一个来取,输入k,表示紧接着S集合有k个元素输入m,表示m次询问,每次给一个数l,表示有l堆,每堆的数量。先手win,输出 “W”,否则,输出“L”。 题解:直接写个SG函数就行了。注意一点的是,集合元素值要排序一下,不然会出错。#include<cst...原创 2018-11-26 17:24:58 · 214 阅读 · 0 评论 -
“东信杯”广西大学第一届程序设计竞赛(同步赛)D 数论只会GCD
题目链接:https://ac.nowcoder.com/acm/contest/283/D 题解:我们先假设A>B,首先第一步:判断 B|A(A能整除B),假设成立,直接输出答案,否则,我们计算item=A/B,假设item>1,直接输出答案,为什么呢?因为item>1,故先手的在下一轮可以随意选择要先手还是不先手,那么假如下一轮是先手win或后手win,此时我就可以按...原创 2018-11-25 17:35:12 · 903 阅读 · 0 评论 -
poj 2484 A Funny Game (简单博弈)
题目链接:poj 2484题意:给出n个顺时针排列的n枚硬币,每次只能取一个或者取相邻的两枚,Alice先取,问:谁取走最后一枚硬币?题解:这题很gou,看看代码你就知道了。///当n>=3时,Alice先拿,会把环拆成一条链,假如剩下奇数个硬币数,///那么Bob只需在最中间拿走一个,把链拆成左右两条相等硬币数的链,///接着Alice只能在其中一条链中取,那么Bob也很...原创 2018-11-05 22:50:04 · 264 阅读 · 0 评论 -
poj 2425 A Chess Game (SG函数)
题目链接:poj 2425题意:题目会给出一个有向无环图,对于某个棋子,可以将它移动到其后继棋子的任意一个位置,一个位置可以放多个棋子。给出n个点,从0到n-1,接着n行,每行开始有Xi,代表第i个点后继连接点有Xi个,分别是......。紧接着有多组询问,每组询问的M代表有哪几个可走的棋子(M为0时询问结束),问:谁能获胜?先走获胜输出 WIN。 题解:就是个SG函数。参...原创 2018-11-06 08:46:01 · 259 阅读 · 0 评论 -
zoj 3057 Beans Game (三维博弈)
题目链接:zoj 3057题意:给三堆石头,每次可以任选一堆(或者两堆)取任意石子,取走最后一个石子的获胜。参考链接:https://blog.youkuaiyun.com/David_Jett/article/details/47296567?utm_source=blogxgwz0题解:直接暴力解决了,开三维数组,详情见代码。///博弈,每个状态要么是必胜态,要么就是必败态#incl...原创 2018-10-30 10:59:35 · 367 阅读 · 0 评论 -
poj 2505 A multiplication game (类似于递推思想和博弈)
题目链接:poj 2505题意:Stan and Ollie 两人玩游戏,Stan先手,一开始 P=1,每次玩家可以在数字 [ 2 , 9 ] 范围内选择一个数与p相乘,当P>=n时,此时的某玩家获胜。 题解:我们可以这样思考,首先我们先设 X,满足 X*9>=P , 即我们可以把这解释为,谁先到达 大于等于X的值,谁就输,为什么呢?假设有一玩家到达了Y值(Y>=X)...原创 2018-10-15 20:36:45 · 261 阅读 · 0 评论 -
hdu 5724 Chess (SG函数)
题目链接:hdu 5724题意:有一个n行20列的棋盘,棋盘上分布着一些棋子,A、B两人轮流下棋,A先手,每次操作可以将某个棋子放到自己右边的第一个空位(也就是说右边如果已经有子,可以跳过它,没有就右移一步),但最多20列,绝对不能超过棋盘,无棋可走的输。题解:进行状态压缩,bit来表示在一行中一个点有没有棋子,有棋子为1,没有棋子为0,0到(2^20-1)就代表全了所有的可能。我们还...原创 2018-10-11 10:29:38 · 238 阅读 · 0 评论 -
hdu 4388 Stone Game II 博弈 库函数查找x数字二进制为1的个数
题目链接:hdu 4388参考博客:https://blog.youkuaiyun.com/y1196645376/article/details/52143551题意:最初有n堆石子,每堆石子个数已知。两人轮流执行操作,如果当某人无法执行有效操作时即输。操作分两步: 第一步为:选择其中一堆石子假定石子个数为a,拿走个数不为0的一些石子使得该堆石子剩余k个并且保证(0 < k ...原创 2018-10-09 09:37:00 · 2323 阅读 · 0 评论 -
E. Tokitsukaze and Duel (博弈)
题目链接:哆啦A梦传送门题意:有长度为n的字符串,每个字符为'0'或'1',两个人轮流玩游戏,每次可以任取长度为k的连续子串,将它们改成相同的串(要么为1,要么为0),谁先把串弄成全部相同,谁就win。问:先手win,还是后手win。题解:还是跟之前玩的博弈类似,两人都是最聪明的,那么也就是说,字符串一旦给定,其实已经定好了是先手win,还是后手win。先手如果不能在第一次出手就...原创 2019-07-14 13:22:32 · 557 阅读 · 2 评论