P2575 高手过招】的更多相关文章

题目:https://www.luogu.org/problemnew/show/P2575 第一次用SG函数解决问题,有许多不熟练的地方: 试图按自己的理解写一个dfs,结果错了(连题都没读对,以为是像跳棋一样跳),这样的话用dfs从左往右推就不行了呢: 附上自己的错误尝试: #include<iostream> #include<cstdio> #include<cstring> using namespace std; ; ]; int dfs(int x) {…
题目描述 我们考虑如何把问题转换成博弈论来求解. 我们对于每一行之前都加上一个空格. 设原来这一行的空格个数是 \(C\) ,那么此时空格个数变成 \(C + 1\) . 然后按照从左到右的顺序给每一个空格标号. 接着构建出一个数组 \(p_i\) . \(p_i\) 表示从第 \(i\) 个空格开始后面有多少个连续的棋子. 比如像这样的一行棋盘: \[\circ\circ\bullet\circ\circ\bullet\bullet\bullet\circ\circ\bullet\circ\b…
题目链接 \(Click\) \(Here\) 关键在于转换成阶梯\(Nim\)的模型.最开始把题目看错了,理解正确后发现棋子可以向后跳不止一位,那么就比较简单了. 这里把空格看做阶梯,棋子看做硬币,这样整个模型就满足阶梯\(Nim\)的性质了.阶梯\(Nim\)的证明我不会,请自己\(yy\). #include <bits/stdc++.h> using namespace std; const int M = 30; const int N = 1010; int n, t, a[M],…
传送门 直接搞好像搞不了 考虑转换模型 显然每一行棋子不会跑到其他行.. 所以可以把每一行的情况看成一个子博弈 显然整个答案就是每一行的SG值的异或和 不懂的回去学SG函数... 考虑怎么分析一行的状况 可以发现空位的个数是不会变的 如果把每一段连续的棋子看成一块 整块的的值为块中棋子的个数 那么每次操作会使一块的值减少一个数 $a$ 然后让右边的另一块增加 $a$ 显然变成了阶梯Nim.. 然后就可以搞了 (关于阶梯Nim,我是在 这里 学的,讲得很清楚) 代码很简单,不用注释了吧 #incl…
SG函数+状压记忆化搜索 观察题目发现,每一行都是独立的,只要处理出来每一行的SG值,异或起来就好 每一行的SG值可以用状压+记忆化搜索的方法来求,对位运算技术是个很大的考验 注意SG值要预处理出来,不能每次算 (WA的原因是 a数组在递归的过程中没有被清空,而是直接覆盖了,如果动态开数组就没有这样的问题) #include <iostream> #include <cstdio> #include <algorithm> #include <cstdlib>…
Solution SG函数跑一遍就过了ouo Code #include<cstring> #include<cstdio> #include<algorithm> #define rd read() #define cl(a) memset(a, 0, sizeof(a)); using namespace std; << ; ]; int T, n; int read() { , p = ; char c = getchar(); ; + c - ';…
正解:博弈论 解题报告: 传送门! 阿西$gql$又双叒被题意杀辣,,,再不好好学语文吃枣药丸$TT$ 然后在$get$规则之后还有什么问题嘛,,, 就和这题差不多了,一个$easy$的阶梯问题罢辽,等下放代码$QAQ$ 但是如果这么$easy$我大概就不会放了个阶梯问题板子之后再放一个辣,,,主要这题还可以用$SG$函数,虽然复杂度差很多,然后因为$gql$在这个方面非常差所以目前这个状态来说,大概会把所有做的能用$SG$函数的题都写个题解$QwQ$ 欧克然后看这题$SG$函数怎么做鸭$QwQ…
空格数变吗?不变呀 阶梯博弈阶梯数变吗?不变呀 那这不就阶梯博弈,每行一栋楼,爬完\(mex\)就可以了吗? #include <iostream> #include <cstdio> #include <cstring> #include <algorithm> #include <cmath> #define R(a,b,c) for(register int a = (b); a <= (c); ++a) #define nR(a,b…
AC自动机 P3808 [模板]AC自动机(简单版)(完成时间:2018.12.06) P3796 [模板]AC自动机(加强版)(完成时间:2018.12.06) P2444 [POI2000]病毒(完成时间:2018.12.06) 回文串 blog(完成时间:2018.12.10) P3805 [模板]manacher算法(完成时间:2018.12.10) P1872 回文串计数(完成时间:2018.12.11) P4555 [国家集训队]最长双回文串(完成时间:2018.12.10) P49…
回文串 manacher(完成时间:2018.12.10)回文串计数最长双回文串(完成时间:2018.12.10) 扫描线 棋盘制作巨大的牛棚玉蟾宫某个blog 汉诺塔相关 新汉诺塔SHOI 博弈论 blog1blog2P2197 [模板]nim游戏(完成时间:2018.12.07)P2599 [ZJOI2009]取石子游戏P2575 高手过招 AC自动机 P3808 [模板]AC自动机(简单版)(完成时间:2018.12.06)P3796 [模板]AC自动机(加强版)(完成时间:2018.12…