题解
文章平均质量分 52
donname
这个作者很懒,什么都没留下…
展开
-
Link with Limit
题目链接定义:fn(x)=f(fn−1(x))f_n(x)=f(f_{n-1}(x))fn(x)=f(fn−1(x)),给定f1(x)f_1(x)f1(x),现定义一函数g(x),g(x)=limn→∞1n∑i=1nfi(x)g(x),g(x)=\lim_{n \to \infty} {1 \over n}\sum_{i=1}^{n}{f_i(x)}g(x),g(x)=limn→∞n1∑i=1nfi(x),问是否对于所有的xxx,都有x=g(x)x=g(x)x=g(x)易知(反证)至少存原创 2021-08-11 17:37:22 · 240 阅读 · 0 评论 -
Fall with Trees
题目链接记Δ=xrson−xlson,h=yroot−ylson\Delta=xrson-xlson,h=yroot-ylsonΔ=xrson−xlson,h=yroot−ylson,第iii层的宽度为lenilen_ileni,有$len_2 =len_1+\Delta,len_3 =len_2+{\Delta \over 2},len_4=len_3+{\Delta \over 4} $ ,即有lenk=len1+Δ+Δ2+Δ4+...+Δ(k−1)len_k=len_1+\Delta+{\Delt原创 2021-08-11 12:42:53 · 228 阅读 · 0 评论 -
Yiwen with Sqc
题目链接记sum[a][i]sum[a][i]sum[a][i]为1−i,a1-i,a1−i,a字符的个数原式∑c=97122∑i=1n∑j=insqc(s,i,j,c)=∑c=97122∑i=1n∑j=in(sum[c][j]−sum[c][i−1])2\sum_{c=97}^{122}\sum_{i=1}^{n}\sum_{j=i}^{n}sqc(s,i,j,c)\\{=\sum_{c=97}^{122}\sum_{i=1}^{n}\sum_{j=i}^{n}{(sum[c][j]-sum[c][原创 2021-08-10 21:43:23 · 284 阅读 · 0 评论 -
2021-08-03
Banzhuan题目链接题意:给你一个n∗n∗nn*n*nn∗n∗n的空间,现在你需要在里面放多个1∗1∗11*1*11∗1∗1的立方体,使得从上面,前面,侧面看过去都是一个正方形,在(x,y,z)(x,y,z)(x,y,z)处放入立方体会产生花费x∗y2∗zx*y^2*zx∗y2∗z,当你放入位置的下方(x,y,z−1)(x,y,z-1)(x,y,z−1)处是空的,立方体就会下坠至(x1,y1,z1+1)(x_1,y_1,z_1+1)(x1,y1,z1+1)处,当(x1,y1,z1)(x_1,y原创 2021-08-03 17:59:11 · 72 阅读 · 0 评论 -
Lawn of the Dead
题目链接题意:一个僵尸一次只能向下或向右走一个,现在在n∗mn*mn∗m的地图上埋有一些土豆地雷,僵尸无法通过土豆地雷,问僵尸能到达的格子有几个·解法:暴力?记录上一次询问可达区间[l1,r1][l_1,r_1][l1,r1]和当前询问行没有地雷的可行区间[l2,r2][l_2,r_2][l2,r2],当前行可行区间如果和上一行的某个可达区间可以连通,则这行可到达的点增加r2−max(l1,l2)+1r_2-max(l_1,l_2)+1r2−max(l1,l2)+1个,记录可以增加答案的原创 2021-07-30 16:28:58 · 384 阅读 · 1 评论 -
Kanade Loves Maze Designing
题目链接题意:给你一颗n个节点的无环图,每个点有一个值,定义f(i,x)=sumj=1naijxj−1f(i,x)=sum_{j=1}^na_{ij}x^{j-1}f(i,x)=sumj=1naijxj−1,aija_{ij}aij表示从iii节点到jjj节点路径上不同的点值个数,先在要求求出所有的f(i,19560929)mod(1e9+7)f(i,19560929)mod(1e9+7)f(i,19560929)mod(1e9+7)和f(i,19560929)mod(1e9+9)f(i,19560原创 2021-07-30 09:11:31 · 163 阅读 · 0 评论 -
Photoshop Layers
题目链接ps:题意:有n次操作,操作有两种①操作一:使这次操作后的颜色都为当前RGB,②操作二:使当前的颜色RGB为上一次操作的颜色的RGB加上输入的RGB,超过255时为255,现在有q次询问,每次询问输入l,r,问一颜色RGB初始为(00,00,00)的背景通过l-r的操作后是什么颜色解析:模拟+前缀和当操作是操作二时,RGB加上即可(不管上限),当是操作一时,直接赋值RGB即可AcCode:#include <iostream>#include <algorithm&g原创 2021-07-28 10:23:08 · 147 阅读 · 0 评论 -
Game on Plane
题目链接题意:Alice选择k条直线,Bob任意画一条直线,问Bob画的直线和Alice选择的直线最少有多少条相交?Alice的目标是使结果尽可能大,Bob反之解析:贪心即可,Bob为了使结果尽可能小,显然会画尽可能多的与当前直线平行的直线,Alice则要使选择的直线中平行线尽可能少AcCode:#include <iostream>#include <algorithm>#include <vector>#include <map>#def原创 2021-07-28 09:55:24 · 91 阅读 · 0 评论 -
2021牛客暑期多校训练营4:C-LCS
题目链接题意:三个长为n的字符串s1,s2,s3s1,s2,s3s1,s2,s3,已知LCS(s1,s2)=a,LCS(s2,s3)=b,LCS(s1,s3)=cLCS(s1,s2)=a,LCS(s2,s3)=b,LCS(s1,s3)=cLCS(s1,s2)=a,LCS(s2,s3)=b,LCS(s1,s3)=c,请你构造出符合条件的s1,s2,s3s1,s2,s3s1,s2,s3解析:我们先让s1,s2,s3s1,s2,s3s1,s2,s3同时在首部放入min(a,b,c)min(a,b,c)min(原创 2021-07-27 10:54:25 · 272 阅读 · 1 评论 -
2021牛客暑期多校训练营4:I-Inverse Pair
题目链接题意:一个数组的重量为这个数组的逆序对对数,现在给你一个排列AAA,数组CCC由A+BA+BA+B生成,BBB的元素是000或111,有你自己决定,问CCC最小的重量为多少解析:因为AAA中元素各不相同,所以一个数如果加上111,那么它与在它之后形成的逆序对数不会改变,如果在它之前有一个数比它大111,则加上后可以使逆序对数量减111,所以我们这要确定BBB的0,10,10,1取值:如果在前面的数改变之后还存在比它大111的数,那么这个位置BBB为111,逆序对数减111解法:用归并或线段树/原创 2021-07-27 10:42:41 · 264 阅读 · 0 评论 -
2021牛客暑期多校训练营4:J-Average
题目链接题意:给定数组AAA,BBB,矩阵CCC的元素C(i,j)=Ai+BjC(i,j)=Ai+BjC(i,j)=Ai+Bj,问CCC的所有大小大于x∗jx*jx∗j的子矩阵的平均值最大为多少解析:在一个以(x1,y1)(x1,y1)(x1,y1)为左上角(x2,y2)(x2,y2)(x2,y2)为右下角的子矩阵D[x1][y1][x2][y2]D[x1][y1][x2][y2]D[x1][y1][x2][y2]中,总和为(SUMA[x2]−SUNA[x1−1])∗(y2−y1+1)+(SUMB[y2原创 2021-07-27 10:29:24 · 91 阅读 · 0 评论 -
hdu6958:KD-Graph
题目链接题意:给你一张nnn个点,mmm条边的图,边权为wwwi,当w(u,v)<=Dw(u,v)<=Dw(u,v)<=D,就认为他们是在同一组的点,先要你求一个最小的DDD,是所有点恰好被分为kkk组解法:并查集维护在同一组内的点,并用一个cntcntcnt记录并查集中pre[i]==ipre[i]==ipre[i]==i的个数,cntcntcnt即为当前点的组数,按边权把边的信息从大到小排列,然后遍历边,当当前访问的边和上一次访问的边权值不同时,更新答案ansansans为当一次询原创 2021-07-23 17:31:59 · 98 阅读 · 0 评论 -
CF:B-Reverse String
题目链接题意:给定一个字符串A和B,现在你可以任意选定A中的一个位置index,使得一个字符串C中只有A[index],现在你有两种操作:①当A[index+1]合法时,你可以向右移动,使得index++,并将A[index]放入C的末尾,②当A[index-1]合法时,你可以左移移动,使得index–,并将A[index]放入C的末尾,需要注意的是:你向右移动后还可以向左移动,一旦以向左移动,就不能再向右移动解法:模拟搜索就可#include<iostream>#include<原创 2021-07-23 10:35:02 · 128 阅读 · 0 评论 -
2021牛客暑期多校训练营2-K:Stack
题目链接题意:原有一数组A,用B在记录A的最长不递增序列,现在告诉你pi对应的b[pi]值,要求还原出一组可行的C数组,使得1-pi位置的最长不递增序列长度为b[pi]个人解析:先处理我们将P序列从大到小处理,...原创 2021-07-20 10:00:38 · 75 阅读 · 0 评论 -
2021牛客暑期多校训练营1-Ball Dropping
题目链接简单数学题,主要利用相似变成比例来求解AcCode#include<iostream>#include<cstdio>#include<set>#include<algorithm>#include<vector>#include<cmath>#include<iomanip>using namespace std;const int N = 500010;int n, rmax = -原创 2021-07-18 13:05:53 · 445 阅读 · 1 评论 -
2021牛客暑期多校训练营1-Hash Function
题目链接题意:求一个最小的数seed,使得一个非负整数S的所有元素模上seed后形成的可重集合S1没有重复元素解析:元素s=k*seed+p,0=<p<seed,即p有seed种,所以可知seed的最小值即为sizeof(S),最大值易知为max(s)+1,即S1=S由于官方讲题没听,所以我也不知道正解是啥,翻了下代码,除了暴力和像我一样的假算法,其他的有FFT和我看不懂的解法,蒟蒻流泪如上所说,大部分能过多亏数据比较水,本蒟蒻就写蒟蒻解法:暴力假算法就当不存在吧AcCode:#in原创 2021-07-18 12:27:10 · 120 阅读 · 0 评论 -
2021牛客暑期多校训练营1-Find 3-friendly Integers
题目链接题意:给定l,r,问l,r内有多少个数满足:将数字转换为字符串后,存在子串化为数字后模3为0解析:1.一个数模3的结果有0,1,2。2.一个1位数a,只有a%30时符合条件。3.一个两位数,个位为a,十位为b,如果满足题目要求,只需满足下述条件之一即可:①a%30,②b%30,③(a%3+b%3)3。4.一个三位数,个位为a,十位为b,百位为c,如果满足题目要求,只需满足下述条件之一即可:①a%30,②b%30,③c%30,④(a%3+b%3+c%3)3。此时发现当不满足条件①②③时必满原创 2021-07-18 11:47:14 · 68 阅读 · 2 评论 -
2021牛客暑期多校训练营1-签到D
题目链接签到题,直接上代码了,算法为前缀和然而一开始sb暴力了一发AcCode#include<iostream>using namespace std;const int N = 2010;int sum[N][N];int main() { int n, m; cin >> n >> m; ios::sync_with_stdio(false); for (int i = 1; i <= n; i++) {原创 2021-07-17 18:53:28 · 87 阅读 · 0 评论 -
2021牛客暑期多校训练营1A-Alice and Bob
题目链接题意:Alice和Bob有两堆石子,每次可以从某一堆中取出k颗石子,在另一堆取出s*k(s>=0)颗石子,拿走场上最后一颗石子的人胜利解析(表达的不是很好,需要自己想一想):用x表示第一堆石子数,y表示第二堆石子数,加入(x,y)是一个必败状态,那么可以取走石子一次直接形成(x,y)的状态(x1,y1)必然不是必败状态,如果(x,y)不是必败点,那么可以取走石子一次直接形成(x,y)的状态(x1,y1)不能确定其胜败情况,综上,我们只需要关注一个点能不能由必败点得到,即是否有x=x1+k原创 2021-07-17 18:43:33 · 681 阅读 · 0 评论 -
Restore Modulo
CF题目链接题意简述:给定一序列,下即为序列p,问序列可否有n,m,c,s四个数按如下关系构造①长度为n;②p[1]=s%m;③当i>2时,p[i]=(p[i-1]+c)%m;④0<=c<m当序列p无法由n,m,c,s构造时,输出-1,当可以构造但无法确定m时输出0,否则输出m和c解析:如果序列p可以由n,m,s,c构造,则有以下关系①如果p[i]>p[i-1],那么c=p[i]-p[i-1];②如果p[i]<p[i-1],那么由p[i]=(p[i-1]+c原创 2021-03-27 17:15:04 · 125 阅读 · 0 评论 -
Maximize the Remaining String
cf题目链接题意:给你一个字符串,问对所有重复字符删除至只剩一个后得到的字典序最大的字符串是什么解析:简单的模拟,要使字典序最大,那么我们就要使前面的字符最大,要使大字符提前,那我们就需要尽量删去大字符之前的小字符,但删除小字符并不是随意删除,而是有条件的,如果整个字符串该小字符只出现了一次,显然不能删除,如果该字符重复出现呢,这时有三种情况:①前面选用了此小字符,那么此字符是必须删除的②前面没有使用此小字符,但此小字符是最后一次出现,这是我们也不能删除(重复字符需要留下一个)③非①②的情况,此时自然是原创 2021-03-26 22:26:12 · 177 阅读 · 0 评论 -
Double-ended Strings
cf题目链接题意简述:两字符串a,b,每次可以将一字符串去掉第一个字符或最后一个字符串,问至少多少次操作可以使a=b解法:观察范围,T<=100,|a|<=20,|b|<=20,都很小,暴力即可,时间复杂度为Taabb,时间给的两秒,能过AcCode#include<iostream>#include<algorithm> #define inf 0x3f3f3f3f#define int long long using namespace st原创 2021-03-26 15:34:55 · 161 阅读 · 0 评论 -
Epic Transformation
cf题目链接题意简述:给定一序列,现在有一操作:每次删去两个不同的数,问最少可以剩下几个数解析:emm,没什么解析的,最终剩下的数的数量最小,我们每次都删去第一多的数和第二多的数即可,请自行思考(doge):最终只会剩下0种数或1种数,分别想想AcCode#include<iostream>#include<algorithm>#include<queue>#include<map> #define inf 0x3f3f3f3f#defin原创 2021-03-26 15:28:45 · 485 阅读 · 0 评论 -
Restoring the Permutation
cf题目链接题意简述:原有一序列p,p中元素为[1,n],通过q[i]=max(p[1],p[2]…,p[i])得到一个新的序列q,现给出q,问满足规则的字典序最大和最小的p序列分别是什么解法:通过规则,我们可以确定的是在q序列中第一次出现的数x,x在原序列p中也处于该位置(q[i]=max(p[1],p[2]…,p[i]))字典序最小:我们把1-n中除了出现在q序列的数从小到大填入p序列的空位即可字典序最大:我们先将确定好的q序列的数填入了p序列,那么我们将小于要填位置之前的第一个非空p序列的数从原创 2021-03-26 15:17:58 · 135 阅读 · 0 评论 -
Let‘s Go Hiking
题目链接:https://codeforces.com/contest/1496/problem/D题意:一个大小为n的数组p,p[i]表示i的指标,现在A,B进行这样一个游戏,A先选定一个初始位置x,B再选定一个初始位置y,然后开始移动,移动规则如下:A: 选定x为A移动到的位置,则有x!=y,1=<x*<=n,|x-x*|=1,p[x*]<p[x]B: 选定y为B移动到的位置,则有y!=x,1=<y*<=n,|y-y*|=1,p[y*]>p[y]当一方不能移动原创 2021-03-11 12:53:46 · 649 阅读 · 1 评论 -
炮兵阵地
题目链接本题是状压dp必做题,也是入门题,如果不懂状压dp,建议先去看一下入门文章,不就是把状态表示为01吗首先,老样子,找出一行时满足条件的状态,一个炮兵可以攻击到以自己为中心的上下左右个2格,存在至少一个炮兵左右两格之内存在其他炮兵的状态显然是不可取的。int quick(int x) { int res = 0; while (x) { if (x & 1) res++; x >>= 1; } return res;}for (int i = 0; i原创 2020-10-27 19:19:00 · 188 阅读 · 0 评论 -
P1016 旅行家的预算(贪心)
题目链接一道贪心题,为使油费最小,则我们就必须尽可能的在油价低的地方加油。在不加油的情况下,汽车可行驶的最大距离为c*d2,记为max_d,所以到达一个车站后加的油可影响的范围在后面距离当前加油站小于等于max_d的加油站,为使油费最少,我们不能浪费一分钱。①如果在max_d内有油价低于当前加油站时,我们只需要保持刚好可以行驶到目标加油站即可,然后再加更低价的油继续前行。②如果在max_d内无低于次站油价的加油站,我们就需要一个跳板,让车子能找到低油价的加油站,我们在当前加油站加满(因为可到达的加油站原创 2020-09-06 16:00:49 · 113 阅读 · 0 评论 -
P2575 高手过招(阶梯博弈)
题目链接每一行都是一个子游戏,很容易想到SG,对每一个子游戏而言最终状态为1全部都在最后,这和标准的阶梯游戏将所有的石子(随便一个代号)全部放到地上一样,不过这里的地面是指最后连续为1的部分,那阶梯的段数是怎样的呢?当该位置为0,则该“阶梯”上的石子数为1,是新的一段,所以段数为上一个阶梯+1,当该位置为1时,它和它左边连续的1构成一个“阶梯”,它上面的石子数为连续的1的个数,同样段数为上一阶梯+1,这样就成功的把这题的情形转化为阶梯模型,则该行的SG值为所有奇数阶梯的异或和ACCode#includ原创 2020-09-04 17:43:12 · 125 阅读 · 0 评论 -
Power Sequence
题意:一个数字序列,可以随意排列,可进行如下操作:将一个数加一或减一,问至少需要多少次操作使得arr[i]=ci(i从0开始)首先要将数列从小到大排列,因为ci是递增的.当个数小于等于二时,arr[0]变为1是固定的,如果有arr[1],那么令c为arr[1]即可,所以此时的答案为arr[0]-1。当n大于二时,我做题的时候考虑的是答案是否在arr[n-1](1/n)附近,因为当次幂越大,偏差的值也会越大,当如果只有arr[n-1]近,但其他数都离xi比较远时显然此方案错误,思来想去只能想到暴力,但我又考原创 2020-09-04 01:47:04 · 862 阅读 · 0 评论 -
A Coin Game S(DP+博弈)
题目链接题意:一排硬币有不同的价值,只能从左到右拿,下一个人最多可以拿上一个人拿的硬币数量的两倍,A先拿,且第一次最多只能拿两枚硬币,问A拿的硬币的价值和最大为多少。这道题和A Game类似,我们用dp[i][j]表示当剩下i枚硬币且上一次拿硬币的人取走了j枚硬币时可以取得的最大价值,(下列说明默认不超出范围)dp[i][j]状态下,可以取(k=n-i+1)k,k+1,k+2…k+2j-1,dp[i][j-1]状态下,可以取k,k+1,k+2…k+2j-3,两者之间差了k+2j-2,k+2j-1,所以d原创 2020-09-04 01:16:40 · 134 阅读 · 0 评论 -
A Game(dp+博弈)
题意:一个数字序列,每次取最左端或最右端,问在保证先手取得的数字和大于后手取得的数字和的情况下,后手取得的数字和最大是多少我们进行逆向推演,假设x为最后取得数,那么上一次取得数可能是x+1或x-1,记dp[i][j]表示取值位置范围i-j时先手大于后手获得的价值,且满足后手获得的价值和也最大,dp[i][j]=sum(i,j)-dp[i][j-1]或dp[i+1][j],为获得最大值,则dp[i][j]=sum(i,j)-min(dp[i][j-1],dp[i+1][j]),保证了dp[i][j]都是最大原创 2020-09-03 23:34:24 · 101 阅读 · 0 评论 -
Yet another Number Sequence
题意:f0=a,f1=b,fn=f(n-1)+f(n-2),求f(n)%(pow(10,m));n的数量级是1e9,不论fn的范围也是会超时的,所以显然不能暴力求解,这题我们应采用矩阵快速幂求解,初始矩阵和求斐波那契数列相同,唯一改变的就是f0和f1,因为矩阵快速幂用的是乘法,所以我们每一步都可以取余,不用用高精/大数(亲测大数超时)#include<iostream>#include<cstdio>#include<algorithm>#include<原创 2020-09-02 17:39:09 · 175 阅读 · 0 评论 -
牛客小白月赛27
人懒,几天还没补完所有。。。不太会用这个写文章所以写的有点丑,请见谅A-巨木之森B-乐团派对这题使用DP,将a[i]从小到大排列,dp[i]表示前i个人最多可以组成的乐队数量,我们每次满足第I个人的要求,那么dp[i]=dp[i-a[i]]+1,现在来分析一下其合理性,如果i<a[i],则必然是无法凑一个队的,这时dp[i]=0,当i>=arr[i]时,满足第i人的要求,则剩下i-a[i]人,当然,我们最后一队还可以取a[i]+1,a[i]+2…,但我们dp表示的是i人最多多少个人,最后一原创 2020-08-26 21:18:17 · 118 阅读 · 0 评论 -
Reading comprehension
题意:Fi满足:if (i & 1)ans = (ans * 2 + 1) % m; else ans = ans * 2 % m;,给出n,m,问Fn为多少。当i为奇数时,Fi=4F(i-1)+1,当j为偶数时,Fj=4F(j-1)+2.我们可以得到这样一个关系:#include<iostream>#include<cstdio>#include<algorithm>#include<cstring>using namespace s原创 2020-08-20 18:42:50 · 167 阅读 · 0 评论 -
Jzzhu and Sequences(规律,矩阵)
题意:Fi=F(i-1)+F(i+1),现给出F1和F2,问Fn第一个做法:找规律,列举发现F是循环的,每次循环的长度为6,所以只需要求出前六个就可以得到答案。#include<iostream>#include<cstdio>#include<algorithm>#include<cstring>using namespace std;typedef long long ll;const int N = 2e5 + 10;int a原创 2020-08-20 16:30:05 · 228 阅读 · 0 评论 -
Omkar and Infinity Clock
题意:给一个数字序列,现有一操作:用最大的数减去每一个数,问k次操作后的序列即max为初始序列的最大值,min为初始序列的最小值。操作第一次后最大值为max-min,最小值为0,其他位置的数为max-a。操作第二次后最大值为max-min,最小值仍然为0,其他位置的数为max-min-(max-a).操作第三次后最大值为max-min,最小值仍然为0,其他位置的数为max-min-max+min+max-a=max-a.……递推下去发现一个规律,从第二次开始,最大值和最小值都是固定的,位置在不原创 2020-08-19 18:09:38 · 210 阅读 · 0 评论 -
Omkar and Waterslide
题意:给出一个数字序列,有这么一种操作:使得一段递增ai<=a(i+1)的连续序列都+1,问最少需要多少次操作才可以使得整个数字序列都满足(ai<=a(i+1))简单思路:我们应该寻找这样一种连续子序列,使得这段序列中的数字都小于最前端的前一个数字和最后端的后一个数字,为将这段序列改造的满足要求,我们最少需要操作的次数是最前端的前一个数字-这段序列中最小的数字。这里我们可以将暴力寻找稍作简化,我们不断让ans+=max(0,ai-a(i+1)),如果是递增的那么答案不变化,如果ai>a原创 2020-08-19 17:58:02 · 263 阅读 · 0 评论 -
牛牛爱字符串
题意:给你一串字符串(含空格),问字符串里有哪些数这题蛮简单的,一个一个找出数字就可以了,但比赛脑抽了竟然真的用整数去记录答案(字符串长度小于等于1000),具体一些小细节就在代码里讲了#include<iostream>#include<algorithm>#include<string>#include<vector>using namespace std;string str;int main() { while (getline原创 2020-08-17 15:52:16 · 207 阅读 · 0 评论 -
牛牛爱位运算
题意:给你n个数,让你去几个数(至少0个)做与运算,问结果最大为多少本次比赛的签到题,与运算的结果是小于或等于参与运算的任意数的,所以这题的结果就是这n个数的最大值,至于题目所说的0个我没想到是啥意思(蒟蒻菜哭)#include<cstdio>#include<algorithm>using namespace std;int main(){ int t; scanf("%d",&t); while(t--){ int n原创 2020-08-15 01:02:56 · 93 阅读 · 0 评论 -
牛牛爱博弈
题目链接题意:一堆石子,有n个,每次可以取2k个,取走最后一个的胜利,先手:Alan,后手:Frame感觉自己的眼瞎病的治治了,第一遍看题目时看成是n堆,我想可能又要用SG啥的,就先放弃了,然后一道我看上去很简单但我做不出来的题卡了,然后又回来做这题,然后拼命回想SG函数,然后看下样例只有一堆石子,瞬间就懵了233.好了,牢骚发完了,正式进入本题解法(签到题),我们就一个一个推吧。n=1 先手拿一个,先手胜利n=2 先手拿两个,先手胜利n=3 先手拿走1或2,剩下的后手都可一次拿完,后手胜原创 2020-08-15 00:52:55 · 239 阅读 · 1 评论