zoukankan      html  css  js  c++  java
  • BZOJ 1228: [SDOI2009]E&D(SG定理)

    这道嘛,很容易就看出是个nim和,然后问题就是怎么算子问题的sg函数了

    先暴力个表看下规律,很容易就找出来了~~~(百度空间又渣了,图贴不出来= =)

    32

    0 1 0 2 0 1 0 3 0 1 0 2 0 1 0 4 0 1 0 2 0 1 0 3 0 1 0 2 0 1 0 5

    1 1 2 2 1 1 3 3 1 1 2 2 1 1 4 4 1 1 2 2 1 1 3 3 1 1 2 2 1 1 5 5

    0 2 0 2 0 3 0 3 0 2 0 2 0 4 0 4 0 2 0 2 0 3 0 3 0 2 0 2 0 5 0 5

    2 2 2 2 3 3 3 3 2 2 2 2 4 4 4 4 2 2 2 2 3 3 3 3 2 2 2 2 5 5 5 5

    0 1 0 3 0 1 0 3 0 1 0 4 0 1 0 4 0 1 0 3 0 1 0 3 0 1 0 5 0 1 0 5

    1 1 3 3 1 1 3 3 1 1 4 4 1 1 4 4 1 1 3 3 1 1 3 3 1 1 5 5 1 1 5 5

    0 3 0 3 0 3 0 3 0 4 0 4 0 4 0 4 0 3 0 3 0 3 0 3 0 5 0 5 0 5 0 5

    3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 5 5 5 5 5 5 5 5

    0 1 0 2 0 1 0 4 0 1 0 2 0 1 0 4 0 1 0 2 0 1 0 5 0 1 0 2 0 1 0 5

    1 1 2 2 1 1 4 4 1 1 2 2 1 1 4 4 1 1 2 2 1 1 5 5 1 1 2 2 1 1 5 5

    0 2 0 2 0 4 0 4 0 2 0 2 0 4 0 4 0 2 0 2 0 5 0 5 0 2 0 2 0 5 0 5

    2 2 2 2 4 4 4 4 2 2 2 2 4 4 4 4 2 2 2 2 5 5 5 5 2 2 2 2 5 5 5 5

    0 1 0 4 0 1 0 4 0 1 0 4 0 1 0 4 0 1 0 5 0 1 0 5 0 1 0 5 0 1 0 5

    1 1 4 4 1 1 4 4 1 1 4 4 1 1 4 4 1 1 5 5 1 1 5 5 1 1 5 5 1 1 5 5

    0 4 0 4 0 4 0 4 0 4 0 4 0 4 0 4 0 5 0 5 0 5 0 5 0 5 0 5 0 5 0 5

    4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5

    0 1 0 2 0 1 0 3 0 1 0 2 0 1 0 5 0 1 0 2 0 1 0 3 0 1 0 2 0 1 0 5

    1 1 2 2 1 1 3 3 1 1 2 2 1 1 5 5 1 1 2 2 1 1 3 3 1 1 2 2 1 1 5 5

    0 2 0 2 0 3 0 3 0 2 0 2 0 5 0 5 0 2 0 2 0 3 0 3 0 2 0 2 0 5 0 5

    2 2 2 2 3 3 3 3 2 2 2 2 5 5 5 5 2 2 2 2 3 3 3 3 2 2 2 2 5 5 5 5

    0 1 0 3 0 1 0 3 0 1 0 5 0 1 0 5 0 1 0 3 0 1 0 3 0 1 0 5 0 1 0 5

    1 1 3 3 1 1 3 3 1 1 5 5 1 1 5 5 1 1 3 3 1 1 3 3 1 1 5 5 1 1 5 5

    0 3 0 3 0 3 0 3 0 5 0 5 0 5 0 5 0 3 0 3 0 3 0 3 0 5 0 5 0 5 0 5

    3 3 3 3 3 3 3 3 5 5 5 5 5 5 5 5 3 3 3 3 3 3 3 3 5 5 5 5 5 5 5 5

    0 1 0 2 0 1 0 5 0 1 0 2 0 1 0 5 0 1 0 2 0 1 0 5 0 1 0 2 0 1 0 5

    1 1 2 2 1 1 5 5 1 1 2 2 1 1 5 5 1 1 2 2 1 1 5 5 1 1 2 2 1 1 5 5

    0 2 0 2 0 5 0 5 0 2 0 2 0 5 0 5 0 2 0 2 0 5 0 5 0 2 0 2 0 5 0 5

    2 2 2 2 5 5 5 5 2 2 2 2 5 5 5 5 2 2 2 2 5 5 5 5 2 2 2 2 5 5 5 5

    0 1 0 5 0 1 0 5 0 1 0 5 0 1 0 5 0 1 0 5 0 1 0 5 0 1 0 5 0 1 0 5

    1 1 5 5 1 1 5 5 1 1 5 5 1 1 5 5 1 1 5 5 1 1 5 5 1 1 5 5 1 1 5 5

    0 5 0 5 0 5 0 5 0 5 0 5 0 5 0 5 0 5 0 5 0 5 0 5 0 5 0 5 0 5 0 5

    5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5

    只能这样了= =

    很容易就能写出来了= =

    CODE:

    #include<cstdio>

    #include<iostream>

    #include<algorithm>

    #include<cstring>

    using namespace std;

    int solve(int x,int y) {

    int n=31;

    for (int m=30;m;m--) {

    int t=1<<m;

    if (x<=t&&y<=t) n=m;

    if (x>t) x-=t;

    if (y>t) y-=t;

    }

    return (x==1&&y==1)?0:n;

    }

    int main(){

    int T;

    scanf("%d",&T);

    while (T--) {

    int n,ans=0;

    scanf("%d",&n);

    for (int i=1;i<=n;i+=2){

    int x,y;

    scanf("%d%d",&x,&y);

    ans^=solve(x,y);

    }

    printf("%s ",ans?"YES":"NO");

    }

    return 0;

    }


  • 相关阅读:
    动态规划算法1——背包问题
    图论——Dijkstra算法
    C++的输入和输出
    org.hibernate.type.SerializationException: could not deserialize 反序列化失败
    当json串传输异常(乱码破坏格式),服务器不能解析时,可以截取串达到取值的目的
    ReferenceError: ** is not defined
    jar包反复下载不成功
    include与.jspf
    url中“/”的意义
    JSP取得绝对路径
  • 原文地址:https://www.cnblogs.com/New-Godess/p/4348908.html
Copyright © 2011-2022 走看看