SG 기능 연구 노트

개념

A. 승리 상태와 상실 상태

  1. 승리 상태 (N), 이길이 상태를면에서 최적의 전략.
  2. 이 상태를 잃게됩니다 최적의 정책을 마주 상태 (P)를 잃는.

두 .SG 기능

  1. MEX 동작 : 최소 요건은 음이 아닌 정수의 집합에 속하지 않는 것으로 정의된다.
  2. X는 상태를 나타내고, SG (X). X는 주 경우에만 SG (X) = 0 인 경우 운명;
  3. 모든 x는 (합법적이어야 함) 한 단계의 상태에 도달 할 수 있습니다 이동에 대한 S를 보자. 이어서 (X) = MEX (SG (Y) ()의 Y의 ∈ S) $ $ SG의 존재
  4. 폭력 속임수 포인트를 찾을 수 있습니다, 주로 법을 찾기 위해 테이블을 명중

세 .SG 정리

  1. SG와 SG 기능의 게임은 서로의 모든 하위 게임 독립적 인 모든 서브 게임 XOR의 기능 곳입니다.
  2. 그리고 독점의 각 더미 돌 SG 기능 또는 0이 아닌 경우에만 경우에 따라서 우세 승리.

매치 게임을 가지고

분석

  1. SG는 SG의 ^ A1 A2 A3 ^ ^ ... = ^. 당신의 SG ==를 분실 한 경우 0 제공된 초기 상태 정리하여 판단
  2. 당신이 이길 경우는 A1 A를되도록, '특정 A1이 제거 된 가정한다. 은 '^ ^ A2, A3 ... ^ ^ = 0 = SG가 ^ SG = SG ^ ^ A1 A2 A3 ^ ^ ... ^;
  3. 따라서 SG ^ A1 = A '와 A1>해야.';
  4. 그래서 SG ^ AI <AI 일단 제가 제거되는 제 스택 인공 지능 인 - SG ^는 인공 지능.
#include<iostream>
#include<cstdio>
#include<cmath>
#include<queue>
#include<cstring>
#include<algorithm>
#define lson x<<1
#define rson x<<1|1
#define ll long long
#define rint register int
#define mid  ((L + R) >> 1)
using namespace std;
template <typename xxx> inline void read(xxx &x) {
    char c = getchar(),f = 1;x = 0;
    for(;c ^ '-' && !isdigit(c);c = getchar());
    if(c == '-') c = getchar(),f = -1;
    for(;isdigit(c);c = getchar()) x = (x<<1) + (x<<3) + (c ^ '0');
    x *= f;
}
template<typename xxx>void print(xxx x)
{
    if(x<0){putchar('-');x=-x;}
    if(x>9) print(x/10);
    putchar(x%10+'0');
}
const int maxn = 500010;
const int inf = 0x7fffffff;
const int mod = 1e9 + 7;
int SG;
int n,a[maxn];
int main()
{
    read(n);
    for(rint i = 1;i <= n; ++i) read(a[i]),SG ^= a[i];
    if(!SG) {//当前即是必败态
        printf("lose\n");
        return 0; 
    } 
    for(rint i = 1;i <= n; ++i) {
        if((SG ^ a[i]) < a[i]) {
            printf("%d %d\n",a[i] - (SG ^ a[i]),i);
            for(rint j = 1;j <= n; ++j) {
                if(i ^ j) print(a[j]);
                else print(a[i] ^ SG);
                putchar(' ');
            }
            return 0;
        }   
    }
    return 0;
}

추천

출처www.cnblogs.com/Thomastine/p/11798499.html