摘要: 原题链接 考察:博弈论 思路: 这题不会只能说明对sg函数理解不够透彻了(比如我. 明确sg函数是解决所有ICG游戏的通解,而本题很明显是ICG游戏(所有执行步骤与执行者无关). 那么所有面朝上的硬币都可以视为一个起点.以下标为0的面朝上硬币为例,那么sg(0) = 1.由此也可以推到sg(1) = 阅读全文
posted @ 2021-05-24 21:43 acmloser 阅读(37) 评论(0) 推荐(0) 编辑
摘要: 原题链接 考察:博弈论 思路: 发现这种n比较大的,比较难找胜态和败态.像上题一样考虑sg函数打表,但是本题的石子移动是可以移动到其他堆的,本蒟蒻是不会写本题的sg函数(). 这样只能研究A,B的移动方式了,实际有点类似阶梯博弈,可以发现(A+B)%6==3时可以移动A >B.此时枚举0~5之间的数 阅读全文
posted @ 2021-05-24 18:07 acmloser 阅读(83) 评论(0) 推荐(0) 编辑
摘要: 原题链接 考察:博弈论 看了其他题解都是不难发现...,果然是我太弱了(.) 思路: 这题不是打表胜负态,而是打表sg函数.可以发现4个一循环. Code #include <iostream> using namespace std; int n; int main() { int T; scan 阅读全文
posted @ 2021-05-24 13:05 acmloser 阅读(34) 评论(0) 推荐(0) 编辑
摘要: 原题链接 考察:博弈论 思路: sg函数打表找规律,发现n%(p+q)后,若1<=n<=p则必败. 想说一下的就是,sg函数的必败点不能定义为>0的数.这样会让某些必胜点sg(x)>0被判断必败. Code #include <iostream> #include <cstring> #includ 阅读全文
posted @ 2021-05-24 11:11 acmloser 阅读(28) 评论(0) 推荐(0) 编辑