想了一下午,最后还是请教altf4主席做出来的。(查题解的过程中拓扑序一样学了一大堆博弈论问题)
每一个堆中的每个石子都是独立的,所以sg[i]表示第i堆有一个石子的sg值。所以这一堆的sg值= sg[i] xor 自己p[i]次。
对于第i 堆,sg[i]=mex{sg[j] xor sg[k]} (j>i,k>=j)。 所以n^3求出sg数组。
方案也可以用n^3的枚举解决(xor的逆运算是她自己)。
RunID | User | Problem | Result | Memory | Time | Language | Code_Length | Submit_Time |
409659 | lbz007 | 1188 | Accepted | 228 kb | 40 ms | Pascal/Edit | 1192 B | 2013-05-10 22:06:28 |
View Code