洛谷P2575高手过招——SG函数初试】的更多相关文章

题目:https://www.luogu.org/problemnew/show/P2575 第一次用SG函数解决问题,有许多不熟练的地方: 试图按自己的理解写一个dfs,结果错了(连题都没读对,以为是像跳棋一样跳),这样的话用dfs从左往右推就不行了呢: 附上自己的错误尝试: #include<iostream> #include<cstdio> #include<cstring> using namespace std; ; ]; int dfs(int x) {…
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 - ';…
洛谷1294 高手去散步 题目背景 高手最近谈恋爱了.不过是单相思.“即使是单相思,也是完整的爱情”,高手从未放弃对它的追求.今天,这个阳光明媚的早晨,太阳从西边缓缓升起.于是它找到高手,希望在晨读开始之前和高手一起在鳌头山上一起散步.高手当然不会放弃这次梦寐以求的机会,他已经准备好了一切. 题目描述 鳌头山上有n个观景点,观景点两两之间有游步道共m条.高手的那个它,不喜欢太刺激的过程,因此那些没有路的观景点高手是不会选择去的.另外,她也不喜欢去同一个观景点一次以上.而高手想让他们在一起的路程最…
P2568 GCD 题目描述 给定整数N,求1<=x,y<=N且Gcd(x,y)为素数的数对(x,y)有多少对. 输入输出格式 输入格式: 一个整数N 输出格式: 答案 输入输出样例 输入样例#1: 4 输出样例#1: 4 说明 对于样例\((2,2),(2,4),(3,3),(4,2)\) \(1<=N<=10^7\) 来源:bzoj2818 本题数据为洛谷自造数据,使用CYaRon耗时5分钟完成数据制作. Solution 方法1:莫比乌斯反演,方法和yy的gcd一样 方法2:…
传送门 直接搞好像搞不了 考虑转换模型 显然每一行棋子不会跑到其他行.. 所以可以把每一行的情况看成一个子博弈 显然整个答案就是每一行的SG值的异或和 不懂的回去学SG函数... 考虑怎么分析一行的状况 可以发现空位的个数是不会变的 如果把每一段连续的棋子看成一块 整块的的值为块中棋子的个数 那么每次操作会使一块的值减少一个数 $a$ 然后让右边的另一块增加 $a$ 显然变成了阶梯Nim.. 然后就可以搞了 (关于阶梯Nim,我是在 这里 学的,讲得很清楚) 代码很简单,不用注释了吧 #incl…
https://www.luogu.org/problemnew/show/P1184 (题目出处) 见到地名,自然就想到字符串了.可以从第一天开始,将她的位置与高手方便取得地方一一比较,(char字符串型可用strcmp(s1,s2): 当字符串s1<s2时,返回为负数: 当s1==s2时,返回值= 0: 当s1>s2时,返回正数. 即:两个字符串自左向右逐个字符相比(按ASCII值大小相比较),直到出现不同的字符或遇'\0'为止.) (string型可直接用“==”比较,若相等,返回1,反…
题目链接 \(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],…
题目传送门 那位高手是谁啊?@jxpxcsh  QWQ. 这道题数据特别水,所以直接使用O(n*m),每读进一个m内的字符串,就扫一遍n的字符串.但注意地点字符串中有可能会有空格,所以这时候就要请出getline出场了. #include<bits/stdc++.h> using namespace std; ],ll; ; int main(){ cin>>n>>m; getline(cin,ll); ;i<=n;i++) getline(cin,gs[i]);…
P1294 高手去散步 题目背景 高手最近谈恋爱了.不过是单相思.“即使是单相思,也是完整的爱情”,高手从未放弃对它的追求.今天,这个阳光明媚的早晨,太阳从西边缓缓升起.于是它找到高手,希望在晨读开始之前和高手一起在鳌头山上一起散步.高手当然不会放弃这次梦寐以求的机会,他已经准备好了一切. 题目描述 鳌头山上有n个观景点,观景点两两之间有游步道共m条.高手的那个它,不喜欢太刺激的过程,因此那些没有路的观景点高手是不会选择去的.另外,她也不喜欢去同一个观景点一次以上.而高手想让他们在一起的路程最长…